تفاوت yield و return در پایتون 🤔
🔸️ در پایتون، هم yield و هم return برای بازگرداندن مقدار از تابع استفاده میشن، اما تفاوتهای مهمی دارن:
✅️ اول از همه return چیه؟
🔹️وقتی از return استفاده میکنید، تابع بلافاصله متوقف میشه و مقدار مشخصشده رو برمیگردونه. بعد از return، هیچ خطی از کد تابع اجرا نمیشه.
✅️ حالا yield چیه؟
🔹️ خب، yield هم مقدار برمیگردونه، اما تابع رو متوقف نمیکنه! یعنی هربار که تابع فراخوانی میشه، از همونجایی ادامه میده که دفعه قبل متوقف شده بود.
🔥 حتی این تابع رو میتونید توی یک حلقه اجرا کنید:
#python #yield #return
☕️ Telegram | Website | Discord
🔸️ در پایتون، هم yield و هم return برای بازگرداندن مقدار از تابع استفاده میشن، اما تفاوتهای مهمی دارن:
✅️ اول از همه return چیه؟
🔹️وقتی از return استفاده میکنید، تابع بلافاصله متوقف میشه و مقدار مشخصشده رو برمیگردونه. بعد از return، هیچ خطی از کد تابع اجرا نمیشه.
def add(a, b):
return a + b
✅️ حالا yield چیه؟
🔹️ خب، yield هم مقدار برمیگردونه، اما تابع رو متوقف نمیکنه! یعنی هربار که تابع فراخوانی میشه، از همونجایی ادامه میده که دفعه قبل متوقف شده بود.
def numbers():
yield 1
yield 2
yield 3
🔥 حتی این تابع رو میتونید توی یک حلقه اجرا کنید:
for n in numbers():
print(n)
#python #yield #return
☕️ Telegram | Website | Discord
⚡10🔥3
🔁 Early Return در برنامه نویسی
گاهی اوقات کدهایی مینویسیم که بیجهت شرطها رو تو در تو میکنیم، در حالی که میتونیم با Early Return سادهتر و تمیزتر بنویسیم.
📌 روش عادی
📌 روش بهینه تر (با Early Return)
✅ مزایای Early Return:
- حذف شرطهای اضافه
- تمرکز روی منطق اصلی برنامه
- سادگی در خواندن و نگهداری کد
نکته: Early Return یعنی خروج سریع و صریح از تابع، وقتی ادامهی مسیر منطقی نیست. این یه عادت خوب برای نوشتن کدهای تمیز و حرفهایه 😃
#early #return #programming
☕️ Telegram | Website | Discord
گاهی اوقات کدهایی مینویسیم که بیجهت شرطها رو تو در تو میکنیم، در حالی که میتونیم با Early Return سادهتر و تمیزتر بنویسیم.
📌 روش عادی
def handle_order(user, order):
if user is not None:
if user.is_active:
if order.is_valid():
process_order(order)
return "Order processed"
else:
return "Invalid order"
else:
return "Inactive user"
else:
return "User not found"
📌 روش بهینه تر (با Early Return)
def handle_order(user, order):
if user is None:
return "User not found"
if not user.is_active:
return "Inactive user"
if not order.is_valid():
return "Invalid order"
process_order(order)
return "Order processed"
✅ مزایای Early Return:
- حذف شرطهای اضافه
- تمرکز روی منطق اصلی برنامه
- سادگی در خواندن و نگهداری کد
نکته: Early Return یعنی خروج سریع و صریح از تابع، وقتی ادامهی مسیر منطقی نیست. این یه عادت خوب برای نوشتن کدهای تمیز و حرفهایه 😃
#early #return #programming
☕️ Telegram | Website | Discord
🔥13❤🔥2⚡1