چالش روزانه · ۲۲ مهر ۱۴۰۵
چالش پایتون ۸: کدی که بعد از return میآید
قبل از اجرای کد، خروجی آن را پیشبینی کن. حدس نزن؛ خط به خط فکر کن پایتون چه میکند.
def f():
print("A", end=" ")
return "B"
print("C", end=" ")
r = f()
print(r)نمایش پاسخ و توضیح
پاسخ درست: گزینهٔ الف — A B
خط به خط
r = f()تابع را صدا میزند.print("A", end=" ")← روی صفحهAچاپ میشود (با یک فاصله بهجای رفتن به خط بعد).return "B"← تابع همینجا تمام میشود و"B"به صداکننده برمیگردد.print("C")هرگز اجرا نمیشود. به آن «کد مرده» (dead code) میگویند.rحالا"B"است وprint(r)آن را چاپ میکند.
خروجی: A B
یادتان باشد
- فقط یک
returnدر هر اجرای تابع اجرا میشود و بعد از آن تابع تمام است. printچیزی را روی صفحه نشان میدهد؛returnمقداری را به صداکننده تحویل میدهد.
حالا خودت اجرا کن و تغییرش بده
def f():
print("A", end=" ")
return "B"
print("C", end=" ")
r = f()
print(r)