تابع یکخطی
همهٔ تابع همین یک خط است: lambda price, tip: price + tip، زیر نام bill. bill(4, 1) میشود 5. بعد از دونقطه فقط price + tip آمده و همان حاصل است. در این خط return نیست و زیرش خط تورفته هم نیست.
بعد از آن از نام bill استفاده میکنید. bill(4, 1) عدد 4 را در price و عدد 1 را در tip میگذارد، به همان ترتیبی که نامها نوشته شدهاند. print همان حاصل را مینویسد.
bill = lambda price, tip: price + tip
print(bill(4, 1))
روی صفحه 5 است. این 5 را print نوشته. خود خط lambda چیزی نمینویسد. 4 بهاضافهٔ 1 میشود 5، پس bill(4, 1) همان 5 است. با عددهای دیگر هم همین جمع انجام میشود. bill(4, 0) میشود 4.
همین جمع را میشود با def در چند خط نوشت و return را در خط جدا گذاشت. در این صفحه جمع در عبارت بعد از دونقطه مانده است.
📊 یک خط یا چند خط
| شکل | حاصل از کجا میآید |
|---|---|
| lambda price, tip: price + tip | عبارت بعد از دونقطه |
| def با خط return price + tip | خط return |
کجا این خط میشکند
return بعد از دونقطه جا ندارد. برنامه روی lambda price, tip: return price + tip میایستد، چون آنجا فقط یک عبارت میآید و return عبارت نیست. اگر دونقطه را ننویسید، برنامه باز میایستد. bill() و bill(4) هم میایستند: این خط دو ورودی دارد و هر دو باید پر شوند.
صفحهٔ بعد تابعی است که از داخل خودش دوباره اجرا میشود. این صفحه فقط تابع را در یک خط مینویسد.
روی صفحه
- print(bill(4, 1)) چه مینویسد؟
- bill(4, 0) چیست؟
- return را بعد از دونقطه مینویسید. برنامه به آخر میرسد؟
- زیر این تابع خط تورفته هست؟
این خط چه میکند
lambda price, tip: price + tip همهٔ تابع است. bill(4, 1) میشود 5 و print همان 5 را مینویسد. حاصل، عبارت بعد از دونقطه است، پس return در این خط نیست. return بعد از دونقطه برنامه را متوقف میکند. bill(4, 0) میشود 4.
🧠 دانش خود را بیازمایید
دانش خود را بیازمایید
خود را با این آزمون تعاملی به چالش بکشید و ببینید موضوع را چقدر خوب درک کردهاید
📝 دستورالعملها
- هر سوال را با دقت بخوانید
- بهترین پاسخ را برای هر سوال انتخاب کنید
- میتوانید آزمون را هر چند بار که میخواهید تکرار کنید
- پیشرفت شما در بالا نمایش داده میشود