کداکسپلور | CodeExplore
7.92K subscribers
1.93K photos
300 videos
103 files
1.69K links
با کد اکسپلور یاد بگیر، لذت ببر و بروز باش ⚡️😉

سایت کد‌اکسپلور:
CodeExplore.ir
👨🏻‍💻 ارتباط با ما :
@CodeExploreSup
گروه :
@CodeExplore_Gap
تبلیغات در کد اکسپلور :
@CodeExploreAds
Download Telegram
تفاوت yield و return در پایتون 🤔

🔸️ در پایتون، هم 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 ساده‌تر و تمیزتر بنویسیم.

📌 روش عادی
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❤‍🔥21