چالش روزانه · ۱۳ آبان ۱۴۰۵

چالش پایتون ۱۷: تاپل تک‌عنصری

قبل از اجرای کد، خروجی آن را پیش‌بینی کن. حدس نزن؛ خط به خط فکر کن پایتون چه می‌کند.

t = (5)
u = (5,)
print(type(t).__name__, type(u).__name__)
خروجی این کد چیست؟

نمایش پاسخ و توضیح

پاسخ درست: گزینهٔ ج — int tuple

گام به گام

پرانتز در پایتون دو کار دارد: گروه‌بندی عبارت‌ها (مثل (2 + 3) * 4) و ساخت تاپل. برای همین (5) فقط همان عدد 5 داخل پرانتز است.

چیزی که تاپل می‌سازد ویرگول است، نه پرانتز:

(5)    →  5          → int
(5,)   →  (5,)       → tuple

جواب: int tuple

ویرگول کافی است

a = 5,
b = 1, 2, 3
print(type(a), b)

حتی بدون پرانتز هم تاپل ساخته می‌شود. همین است که x, y = y, x کار می‌کند. (درس تاپل)

حالا خودت اجرا کن و تغییرش بده

t = (5)
u = (5,)
print(type(t).__name__, type(u).__name__)