Warning: mkdir(): No space left on device in /var/www/tgoop/post.php on line 37

Warning: file_put_contents(aCache/aDaily/post/pyHints/--): Failed to open stream: No such file or directory in /var/www/tgoop/post.php on line 50
Python Hints@pyHints P.803
PYHINTS Telegram 803
داشتم تغییرات مربوط به Pi Python یا همون Python 3.14 رو می‌خوندم (پروژه‌های خودم رو میخوام منتقل کنم روی این نسخه) از این لینک:
What's new in Python 3.14

یک مورد جالب دیدم Pep 765 که :
Disallow return/break/continue that exit a finally block


داستان چیه؟ قطعا شما هم توی کدهای جنگو یا fastapi دیدید وقتایی که یک نفر try/except رو استفاده کرده و ارور‌ها رو لاگ میندازه و بعدش finally داره که یک return خاص انجام بده مثلا مقدار پیش‌فرض رو بفرسته.
تا اینجا هیچ مشکلی وجود نداره و برای همین هم خیلی‌ها نمی‌دونند که اینکار باعث مشکل میشه.

حالا فرض کنید توی اون exception شما بجای نوشتن لاگ raise انجام میدید تا توی بخش دیگری از پروژه اون Exception رو بتونید بهتر هندل کنید؛ اما وقتی Finally رو دارید که توش Return هم انجام میشه؛ چیزی که کد شما می‌بینه بعنوان response مربوط به اون try/except بلاک هیچوقت نمی‌تونه raise باشه (همیشه finally آخر از همه اجرا میشه)

پس هیچوقت کد شما raise ایی که نوشتید رو نشون نخواهد داد.

توی این نسخه چیکار کردن ؟
Syntax warning
اضافه کردند که اگر اینطوری کد زدید بهتون نشون بده که این مشکل وجود داره؛ ولی همچنان backward compatible بمونه.

خیلی هم عالی.
47👍28🔥1



tgoop.com/pyHints/803
Create:
Last Update:

داشتم تغییرات مربوط به Pi Python یا همون Python 3.14 رو می‌خوندم (پروژه‌های خودم رو میخوام منتقل کنم روی این نسخه) از این لینک:
What's new in Python 3.14

یک مورد جالب دیدم Pep 765 که :

Disallow return/break/continue that exit a finally block


داستان چیه؟ قطعا شما هم توی کدهای جنگو یا fastapi دیدید وقتایی که یک نفر try/except رو استفاده کرده و ارور‌ها رو لاگ میندازه و بعدش finally داره که یک return خاص انجام بده مثلا مقدار پیش‌فرض رو بفرسته.
تا اینجا هیچ مشکلی وجود نداره و برای همین هم خیلی‌ها نمی‌دونند که اینکار باعث مشکل میشه.

حالا فرض کنید توی اون exception شما بجای نوشتن لاگ raise انجام میدید تا توی بخش دیگری از پروژه اون Exception رو بتونید بهتر هندل کنید؛ اما وقتی Finally رو دارید که توش Return هم انجام میشه؛ چیزی که کد شما می‌بینه بعنوان response مربوط به اون try/except بلاک هیچوقت نمی‌تونه raise باشه (همیشه finally آخر از همه اجرا میشه)

پس هیچوقت کد شما raise ایی که نوشتید رو نشون نخواهد داد.

توی این نسخه چیکار کردن ؟
Syntax warning
اضافه کردند که اگر اینطوری کد زدید بهتون نشون بده که این مشکل وجود داره؛ ولی همچنان backward compatible بمونه.

خیلی هم عالی.

BY Python Hints




Share with your friend now:
tgoop.com/pyHints/803

View MORE
Open in Telegram


Telegram News

Date: |

The Standard Channel Telegram Channels requirements & features Ng, who had pleaded not guilty to all charges, had been detained for more than 20 months. His channel was said to have contained around 120 messages and photos that incited others to vandalise pro-government shops and commit criminal damage targeting police stations. Telegram has announced a number of measures aiming to tackle the spread of disinformation through its platform in Brazil. These features are part of an agreement between the platform and the country's authorities ahead of the elections in October. 3How to create a Telegram channel?
from us


Telegram Python Hints
FROM American