برنامه نویسی 1164 بازدید

چند قابلیت وجود دارند که به نسخه 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= هستند، به ‘=’ دقت کنید. علامت تساوی می‌تواند به ارزیابی عبارت کمک کند.

کد فوق خروجی زیر را نمایش می‌دهد:

بدین ترتیب دیباگ کردن زمانی که تابع ارزیابی و خروجی پردازش می‌شود کار بسیار آسانی خواهد بود.

functools.lru_cache می‌تواند به عنوان یک دکوراتور اضافه شود

functools.lru_cache برای فراخوانی‌های بازگشتی بسیار عالی است. از یک دیکشنری برای کش کردن نتایج استفاده می‌شود. می‌توانیم دکوراتور functools.lru_cache را اضافه کنیم:

پایتون 3.8

توالی معکوس

برخی اوقات لازم است که یک تکرارکننده را معکوس کنیم. خوشبختانه ورودی‌های معکوس اینک به شیءهای Dict و dictviews اضافه شده‌اند. آرگومان ورودی در تابع معکوس باید یک تابع ()__reversed__ داشته باشد یا باید متد ()__len__ و __()getitem__ را داشته باشد که آرگومان‌هایشان از 0 آغاز می‌شوند.

به این ترتیب با برخی از جدیدترین تغییرات نسخه پایتون 3.8 آشنا شدیم. امیدواریم از مطالعه این مطلب لذت برده باشید.

اگر این مطلب برای شما مفید بوده است، آموزش‌های زیر نیز به شما پیشنهاد می‌شوند:

==

«میثم لطفی» دانش‌آموخته ریاضیات و شیفته فناوری به خصوص در حوزه رایانه است. وی در حال حاضر علاوه بر پیگیری علاقه‌مندی‌هایش در رشته‌های برنامه‌نویسی، کپی‌رایتینگ و محتوای چندرسانه‌ای، در زمینه نگارش مقالاتی با محوریت نرم‌افزار نیز با مجله فرادرس همکاری دارد.

بر اساس رای 1 نفر

آیا این مطلب برای شما مفید بود؟

نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *