تاپل

تاپل ها نیز همانند دیکشنری ها و لیست ها جز داده های چند قسمتی هستند.بعد از لیست ها , تاپل ها بیشتر در میان داده های چند قسمتی مورد استفاده قرار می گیرند و این شاید دلیلش نزدیک بودن خصوصیات تاپل ها به لیست ها و راحتی کار با تاپل ها باشد.

  • تاپل ها با کاما(,) از هم جدا می شوند.شکل ظاهری تاپل ها همانند این است که چند داده را به یک متغیر انتساب بدهید اما باید بدانید که نوع داده ی نگهداری شده از نوع تاپل است . شما می توانید برای تشخیص راحت و زیبایی کدتان از پرانتز( ) استفاده کنید و داده ها را در داخل پرانتز قرار دهید اما به این نکته توجه داشته باشید که علامت ( ) نشان دهنده تاپل بودن داده نیست . مثالی برای درک بهتر :
  • در این مثال دو متغیر از نظر نوع داده ها و مقدار داده ها با هم تفاوتی ندارند. ( اما از نظر مکان ذخیره سازی داده ها با هم متفاوت هستند )
a = 1, 2, 3, 4
b = (1, 2, 3, 4)

  • نکته1: به این نکته توجه داشته باشید که داده های چند قسمتی می توانند داده های چند قسمتی دیگر را در خود نگه دارند.
  • نکته2: برای تاپل های تک عضوی باید به صورت زیر عمل کنید.

#این یک متغیر ساده است

a = 33
 

#این یک داده از نوع تاپل است

b = 33, 

شاید فکر کنید که زبان خیلی سختی است اما فقط کافی است کمی دقت داشته باشید تا متوجه آسانی و انعطاف پذیری باشید.


اپراتورها در تاپل

اپراتورهایی که برای تاپل ها تعریف شده اند + ( بین دو تاپل ) و * ( بین یک عدد و تاپل )هستند .

  • سعی کنید برای این کار تاپل ها را درمیان پرانتز قرار دهید یا به یک متغیر انتساب دهید به مثال توجه کنید:
>>>1, 2, 3 + 4, 5, 6
(1, 2, 7, 5, 6)
>>>(1, 2, 3) + (4, 5, 6)
(1, 2, 3, 4, 5, 6)

دسترسی به داده های درون تاپل

این قسمت همانند لیست هاست . پس توضیحی در این مورد نمیدم. ( به آموزش مربوطه در سایت بروید ).

  • فقط یک مثال ساده...
>>> T = (1, 2, 3)
>>> T[0] 
1

نکته: تاپل از نوع داده های تغییرناپذیرند یعنی نمی توان آنها را به طور مستقیم تغییر داد. ولی بطور غیر مستقیم امکان دارد. به مثال زیر توجه کنید.

>>> T = (11, 22, 33, 44)
>>> T [0] = 55

Traceback (most recent call last):
  File "<pyshell#1>", line 1, in –toplevel-
    t[0] = 11
TypeError: object does not support item assignment

>>> T = (55,) + T[0:3]
>>> T 
(55, 22, 33, 44)

نکته ی بعدی اینکه بعضی از اعمال برروی لیست ها روی تاپل نیز جواب می دهند .پس امتحان کنید...

  • و...
  • نکات زیادی در تاپل ها ( و همه قسمت های پیتون ) وجود دارند که در این مقوله نمی گنجند . پس سعی کنید که خودتان به این نکات دست پیدا کنید .

صفحه قبلی: پایتون
صفحه بعدی: PyGTK