در برنامه نویسی پایتونزبان برنامه نویسی پایتون چیست؟ – نحوه شروع و دلایل محبوبیتزبان برنامه نویسی پایتون (Python) چیست؟ این مقاله عالی به بررسی دلایل محبوبیت پایتون، موارد استفاده از پایتون و نحوه شروع به برنامه نویسی پایتون پرداخته نوع دادههای مختلفی وجود دارد، از جمله: عددها، رشتهها، لیستها، دیکشنریها، مجموعهها و تاپل ها، که هر کدام ابزاری قدرتمند برای انجام بهتر کدنویسیکدنویسی چیست؟ – کد نویسی یعنی چهاین مقاله عالی به بررسی این پرداخته که کد نویسی چیست و مفهوم کد نویسی را بررسی کرده، همچنین تفاوت کدنویسی و برنامه نویسی و کاربرد های کدنویسی را بررسی کرده هستند. در این نوشتار از کنکور کامپیوتر به بررسی تاپل ها در پایتون میپردازیم و میگوییم چه کاربردی دارند، چرا باید از آنهااستفاده کرد، چگونه میتوان از آنها استفاده کرد و یک برنامهنویس حرفهای در کجا از تاپل و در کجا از لیست استفاده میکند و تفاوتهای آنها چیست. تا انتهای مقاله مطالبی جذاب خواهید خواند همراه ما باشید.
تاپل در پایتون چیست؟
تاپل در پایتون نوعی ساختمان دادهآموزش ساختمان داده و الگوریتمهر ساختمان داده یک نوع فرمت ذخیرهسازی و مدیریت دادهها در کامپیوتر است، که امکان دسترسی و اصلاح کارآمد آن دادهها را برای یکسری از الگوریتمها و کاربردها فراهم میکند، در این صفحه به بررسی و آموزش ساختمان داده و الگوریتم پرداخته شده است است که بسیار شبیه به لیست است، تفاوت اصلی لیست (List) و تاپل (Tuple) این است که تاپل ها تغییرناپذیر (Unchangeable) هستند، به این معنی که پس از ایجاد، نمیتوان آنها را تغییر داد، این باعث میشود آنها برای ذخیره دادههایی که نباید اصلاح شوند، مانند رکوردهای پایگاه دادهپایگاه داده چیست؟ – انواع، مفاهیم و کاربردهاپایگاه داده چیست؟ این مقاله به بررسی این موضوع و همچنین انواع پایگاه داده، کاربردهای پایگاه داده، محبوب ترین پایگاه های داده و اجزای اصلی پایگاه داده پرداخته ، بسیار عالی باشند. یک تاپل (Tuple) میتواند هر تعداد آیتم داشته باشد و جالب است بدانید هر آیتم میتواند متفاوت از آیتم قبلی باشد مثلاً یک عنصر تاپل، رشته باشد، یکی عدد، دیگری مقداری Boolean و غیره. لزومی نیست تمام آیتمهای یک تاپل، دقیق یک نوع باشد، بدیهی است که این مورد در تاپل میتواند برای برنامهنویسان بسیار کاربردی باشد.
چگونه میتوان یک تاپل در پایتون ساخت؟
تاپلها را میتوان به روشهای مختلفی ایجاد کرد، رایجترین روش این است که آنها را در پرانتز قرار دهید. توجه داشته باشید برای جدا کردن آیتمهای تاپل باید از کاما استفاده شود مانند زیر:
my_tuple = (item1,) // single tuple
my_tuple = (item1, item2, item3) // multiple tuple
همچنین میشود این کار را بدون پرانتز انجام داد:
my_tuple = 1, 2, 3
اما برای داشتن کدهای تمیز، پیشنهاد میکنیم که از پرانتز استفاده کنید.
دوره برنامه نویسی پایتون
نمونه فیلمهایی از جلسات برنامه نویسی پایتون
انواع تاپل در پایتون
بهصورت کلی تاپل ها به دو دسته Named Tuples و Unnamed Tuples تقسیم میشوند.
تاپل های نام دار (Named Tuples)
تاپل های نام دار یعنی باید همانطور که کلاس در پایتون تعریف میشود آنها را به شکل کلاس معرفی کرد.
class MyTuple(tuple)
my_tuple = MyTuple(("one", "two", "three"))
print(my_tuple. one) // "one"
تاپلهای نام گذاری شده اغلب برای نمایش رکوردها، مانند موارد موجود در پایگاه داده، استفاده میشوند. هر عنصر در تاپل نمایانگر یک فیلد در رکورد است و تاپل را میتوان با نام بهجای نمایه دسترسی داشت دقیقاً مانند مثال فوق.
تاپل های بدون نام (Unnamed Tuples)
تاپلهای بدون نام رایجترین نوع تاپل هستند و همانطور که قبلاً دیدیم بهسادگی با جدا کردن مقادیر با کاما ایجاد میشوند. این تاپل ها اغلب برای ذخیرهسازی دادههایی استفاده میشوند که نیازی به نامگذاری ندارند. مانند:
my_tuple = (1, 2, 3)
print(my_tuple) // (1, 2, 3)
در مثال بالا یک تاپل با سه عنصر ایجاد کردیم. تاپل میتواند از طریق فهرست به این عناصر دسترسی پیدا کند، درست مانند کاری که با یک لیست انجام میدهیم.
بسته بندی تاپل
ما میتوانیم با استفاده از انواع مختلف عناصر، یک تاپل به روشهای مختلف ایجاد کنیم. از آنجایی که یک Tuple میتواند شامل همه عناصر از یک نوع داده و همچنین انواع دادههای مختلط باشد، بنابراین ما راههای متعددی برای ایجاد تاپل ها داریم. اجازه دهید به چند نمونه از ایجاد تاپل ها در پایتون که بهعنوان بستهبندی در نظر گرفته میشوند نگاه کنیم:
وقتی دادههایی از یک نوع داشته باشیم:
>>>tup = (22, 33, 5, 23)
>>>tup
(22, 33, 5, 23)
وقتی دادههای مختلف داشته باشیم:
>>>tup2 = ('hi', 11, 45.7)
>>>tup2
('hi', 11, 45.7)
وقتی عنصر در تاپل داشته باشیم:
>>>tup3 = (55, (6, 'hi'), 67)
>>>tup3
(55, (6, 'hi'), 67)
باز کردن بسته بندی تاپل
باز کردن بسته بندی تاپل یا Unpacking فرآیندی است که مقادیر سمت راست را به متغیرهای سمت چپ اختصاص میدهد. در باز کردن بستهبندی، ما اساساً مقادیر تاپل را در یک متغیر واحد استخراج میکنیم.
مثال 1:
>>>(n1, n2) = (99, 7)
>>>print(n1)
99
>>>print(n2)
7
مثال 2:
>>>print(english)
99
>>>print(roll no.)
8
>>>print(GPA)
6.7
>>>print(maths)
90
کد در مثال 2 چه کاری انجام میدهد؟
در این مثال ما ابتدا یک تاپل با نام tup1 ایجاد میکنیم سپس tup1 را به یک واحد خاص دیگر اختصاص میدهیم بدین ترتیب وقتی بخواهیم مثلا english را پرینت بگیریم عدد 99 را نمایش میدهد.
روشهای دسترسی به تاپل در پایتون
تعریف یک داده در کدهای برنامهنویس قطعاً بیهوده نیست و بعد از تعریف داده باید از آن استفاده کرد؛ بهعنوان مثال وقتی یک برنامهنویس تاپلی تعریف میکند با آیتمهای مختلف باید از آن تاپل تعریف شده در موقعیتهای مختلف استفاده کند، مثلا وقتی کاربر یک مقدار از آیتمهای تاپل را خواست باید برنامهنویس طوری کد را طراحی کند که موقعیت آن آیتم بهدرستی پیدا شود و مقدار آیتم به کاربر برگردانده شود، به مثالهای زیر توجه کنید.
یافتن موقعیت یک آیتم در تاپل
متداولترین روش تابع index() است که میتواند برای یافتن موقعیت یک عنصر معین در تاپل استفاده شود:
my_tuple = ("a", "b", "c")
print(my_tuple. index("b")) // 1
که خوب مشاهده میکنید که خروجی یک است، در تاپل هم مانند لیست مقداردهی از صفر شروع میشود.
تعداد دفعات تکرار آیتم در تاپل
روش مفید دیگر count() است که تعداد دفعاتی که یک عنصر داده شده در تاپل ظاهر میشود را برمیگرداند:
my_tuple = ("a", "b", "c", "b")
print(my_tuple. count("b")) // 2
مثلا اینجا حرف b دو بار تکرار شده اگر حرف a را به تابع میدادیم مقدار یک را برمیگرداند.
یافتن طول تاپل
تابع len() میتواند برای یافتن طول یک تاپل استفاده شود:
my_tuple = ("a", "b", "c")
print(len(my_tuple)) // 3
شاید در اینجا ابتدا فکر کنید تابع عدد دو را برمیگرداند، توجه داشته باشید تابع len() فقط به اندازه تاپل کار دارد و به موقعیت عناصر کاری ندارد.
نمونه فیلمهای دورههای مهارتی
عملیات روی تاپل در پایتون
گفتیم تاپل یک نوع داده است و روی انواع داده در پایتون میتوان اعمال مختلفی انجام داد که این اعمال عبارتند از:
دسترسی به تاپل در پایتون
با استفاده از براکت مربع و شاخص عنصری که میخواهید به آن دسترسی داشته باشید، میتوان به تاپل ها مانند فهرستها دسترسی داشت، مثلاً:
my_tuple = ("a", "b", "c")
print(my_tuple[1]) // b
همچنین میتوانید از انتهای تاپل با استفاده از شاخصهای منفی به عناصر دسترسی پیدا کرد:
my_tuple = ("a", "b", "c")
print(my_tuple[-3]) // a
اتصال دو تاپل یا چند تاپل به هم در پایتون
تاپل ها را میتوان با استفاده از عملگر + به یکدیگر متصل کرد:
my_tuple = ("a", "b")
my_tuple2 = ("c", "d")
print(my_tuple + my_tuple2) // ("a", "b", "c", "d")
این کار را میتوان با عملگر += نیز انجام داد:
my_tuple = ("a", "b")
my_tuple2 = ("c", "d")
my_tuple += my_tuple2
print(my_tuple) // ("a", "b", "c", "d")
مقایسه تاپل ها با هم در پایتون
تاپل ها را میتوان با استفاده از عملگرهای مقایسه مانند == و! = با یکدیگر مقایسه کرد، مثلاً:
my_tuple = (1, 2)
my_tuple2 = (1, 2)
print(my_tuple == my_tuple2) // True
مقدار True یعنی دو تاپل با هم برابری دارند اگر مقدار False برگردانده میشد به این معنی بود که دو تاپل مقایسهای با هم برابری ندارند. مقایسه، عنصر به عنصر انجام میشود بنابراین تاپل های با طولهای مختلف نمیتوانند برابر باشند. علاوه بر این، تاپل ها را میتوان با انواع دادههای دیگر مانند لیستها مقایسه کرد:
my_tuple = (1, 2)
my_list = ["a", "b")
print(my_tuple (علامت بزرگتر) my_list) // False
تاپل های تودرتو
تاپل ها را میتوان در داخل یکدیگر قرار داد تا ساختارهای داده پیچیدهتری ایجاد شود، مثلاً:
my_tuple = ((1, 2) , (“a", "b")
print(my_tuple) // ((1, 2) , (“a", "b")
برنامهنویس پایتون زمانی از تاپل های تو در تو استفاده میکند که در برنامه نویسیبرنامه نویسی کامپیوتر چیست و چطور می توانید یک برنامه نویس موفق شوید؟در عصر فعلی برنامهنویسی یکی از پرطرفدارترین شغلهای دنیاست، دغدغهای افرادی که میخواهند در مسیر برنامهنویس شدن قدم بردارند این است که نمیدانند از کجا باید شروع کنند، در این صفحه هر آن چه برای تبدیل شدن به یک برنامه نویس حرفه ای نیاز دارید در اختیارتان قرار گرفته است نیاز به فضای دوبعدی دارد؛ مثلا دو بردار وزن و قد که میتواند برای برگرداندن یک آیتم استفاده شود.
دورههای مهارتی رشته کامپیوتر
تبدیل تاپل ها و لیستها به هم در پایتون
معمولا در بین برنامهنویسان پایتون رایج است که تاپل ها و لیست ها را در مواقع لزوم به هم تبدیل کنند، زیرا در که تاپل ها اصلاح ناپذیرند و برای اصلاحات اجبارا باید تبدیل به لیست شوند، همچنین لیست ها نیز برای ثابت شدن گاها به تاپل تبدیل میشوند، عموم این کارها با دو تابع tuple() و list() انجام میشود؛ برای مثال:
my_list = ["a", "b", "c"]
my_tuple = tuple(my_list)
print(my_tuple) // ("a", "b", "c")
در این مثال لیست تبدیل به تاپل شد. این را میتوان با استفاده از تابع zip() داخلی نیز انجام داد که دو یا چند دنباله میگیرد و لیستی از تاپل ها را برمیگرداند:
my_list = ["a", "b", "c"]
my_tuple = tuple(zip(my_list)
print(my_tuple) // (("a") , ("b") , ("c")
همانطور که میبینید، عملیاتهای زیادی وجود دارد که میتوان با تاپل ها در پایتون انجام داد. اما سوالی که اکنون در فکر شماست احتمالا تفاوت بین لیست و تاپل است که در ادامه میگوییم.
تفاوت تاپل و لیست در پایتون
همانطور که دیدیم، تاپل ها و لیستها ساختارهای دادهای بسیار مشابه هستند. اما تفاوتهای اصلی بین آنها چیست؟ تفاوت اصلی این است که تاپل ها تغییرناپذیر هستند، در حالی که لیستها قابل تغییر هستند. این بدان معنی است که تاپل ها را نمیتوان پس از ایجاد تغییر داد، در حالی که لیستها را میتوان پس از ایجاد تغییر داد؛ بهعنوان مثال تاپل ها را میتوان بهعنوان کلید در یک دیکشنری استفاده کرد، در حالی که لیستها نمیتوانند. تفاوت دیگر این است که تاپل ها معمولاً سریعتر از لیستها هستند، این به این دلیل است که پایتون میداند که یک تاپل را نمی توان تغییر داد بنابراین نیازی به اختصاص حافظه زیادی برای آن ندارد. حالا چه زمانی باید از تاپل استفاده کرد و چه زمانی باید از لیست استفاده کرد؟ واقعاً بستگی به شرایط دارد، اگر نیاز به ذخیره دادههایی دارید که نباید تغییر داده شوند پس تاپل راه خوبی است. اما اگر نیاز به ذخیره دادههایی دارید که نیاز به اصلاح دارند احتمالاً لیست انتخاب بهتری است.
جمعبندی
تاپل (Tuple) یک ساختار داده مفید برای مواردی است که میخواهید مقادیری را ذخیره کنید که نباید تغییر داده شوند. در کل برنامهنویسی پایتون آنقدر جذاب است که برای انواع پروژهها، راههای مختلف کدنویسی دارد و این کاملا به برنامهنویس بستگی دارد که بخواهد از تاپلها استفاده کند یا لیستها و بعدا بخواهد چگونه به آنها دسترسی داشته باشد.
در برنامه نویسی پایتون استفاده از تاپل بهتر است یا لیست؟
تاپل و لیست هر دو مقدار داده را نگهداری میکنند اما تاپل غیر قابل اصلاح است، سریعتر عمل میکند همچنین مقدار آیتمهای مختلفی را میتوان در یک تاپل نگهداری کرد ولی لیست تغییرپذیر و عموما کند است.
اگر در بین کدنویسی پایتون نیاز به اصلاح آیتم های تاپل باشد چه باید کرد؟
در این صورت چارهای نیست جز اینکه تاپل را به لیست تبدیل کنیم که با استفاده از دو دستور list() و zip() قابل انجام است.
برای ذخیره رکوردهای یک پایگاه داده آیا میتوان از تاپل استفاده کرد؟
بله می شود، و بهتر آن است که از تاپل های نوع یک یعنی تاپل های نام گذاری شده که در این مطلب توضیح دادیم استفاده کنید.
آیا میتوان گفت که تاپل در پایتون همان آرایه در پایتون است؟
خیر نمیشود، چون خود تاپل یک نوع خاصی از آرایه در پایتون است و خواصی متفاوتتر از آرایه را دارد.