قابلیت های جدید پایتون ۳.۸ – راهنمای کاربردی


چند قابلیت وجود دارند که به نسخه 3.8 پایتون اضافه شدهاند. برخی از این قابلیتها بسیار شگفتانگیز هستند. در این مقاله برخی از قابلیتهای جدید پایتون 3.8 را بررسی میکنیم که باید با آنها آشنا باشید.
انتساب عبارتها با =:
این عملگر به نام عملگر walrus نیز شناخته میشود. در این عملگر مقدارها به عنوان بخشی از عبارت بدون مقداردهی اولیه قبلی آنها به متغیر انتساب مییابند.
در این قطعه کد، متغیر my_variable به یک مقدار انتساب مییابد. این قابلیت در خلاصه لیستها و دیگر ساختارهای عبارت وجود ندارد و تنها در فرمهای گزاره در دسترس ما است.
پارامترهای صرفاً موقعیتی
اگر میخواهید در پایتون به یک تابع اعلام کنید که پارامترهایی را بپذیرد، در این صورت میتوانید آرگومانها را از طریق موقعیت یا به وسیله کلیدواژه ارسال کنید. اما اگر بخواهیم فراخوانی کنندههای API خودمان را طوری محدود کنیم که تابع ما را صرفاً با ارسال پارامترها بر اساس موقعیت فراخوانی کنند چطور؟ کارکرد پارامتر صرفاً موقعیتی به همین منظور طراحی شده است:
در نتیجه (add(1,2,3 و (add(1,2,3,4 هر دو فراخوانیهای معتبری هستند، با این حال (add(a=1,b=2,c=3 یا (add(1,2,3,d=4 هر دو فراخوانیهای غیر معتبری هستند.
برای سهولت دیباگ، f-string اینک از = پشتیبانی میکند
اکنون توصیفگر = میتواند به f-string–ها اضافه شود. f-string- ها به شکل {'f'{expr= هستند، به ‘=’ دقت کنید. علامت تساوی میتواند به ارزیابی عبارت کمک کند.
input = 100 output = 50 print(f'{input-output=}')
کد فوق خروجی زیر را نمایش میدهد:
100-50=50
بدین ترتیب دیباگ کردن زمانی که تابع ارزیابی و خروجی پردازش میشود کار بسیار آسانی خواهد بود.
functools.lru_cache میتواند به عنوان یک دکوراتور اضافه شود
functools.lru_cache برای فراخوانیهای بازگشتی بسیار عالی است. از یک دیکشنری برای کش کردن نتایج استفاده میشود. میتوانیم دکوراتور functools.lru_cache را اضافه کنیم:
توالی معکوس
برخی اوقات لازم است که یک تکرارکننده را معکوس کنیم. خوشبختانه ورودیهای معکوس اینک به شیءهای Dict و dictviews اضافه شدهاند. آرگومان ورودی در تابع معکوس باید یک تابع ()__reversed__ داشته باشد یا باید متد ()__len__ و __()getitem__ را داشته باشد که آرگومانهایشان از 0 آغاز میشوند.
به این ترتیب با برخی از جدیدترین تغییرات نسخه پایتون 3.8 آشنا شدیم. امیدواریم از مطالعه این مطلب لذت برده باشید.
اگر این مطلب برای شما مفید بوده است، آموزشهای زیر نیز به شما پیشنهاد میشوند:
- مجموعه آموزشهای برنامهنویسی پایتون
- مجموعه آموزشهای برنامهنویسی
- آموزش برنامه نویسی پایتون – مقدماتی
- ترفندهای پایتون که باید آنها را بدانید — راهنمای کاربردی
- زبان برنامه نویسی پایتون (Python) — از صفر تا صد
==