محمد طهوریان
محمد طهوریان
خواندن ۲ دقیقه·۴ سال پیش

ویژگی های جدید پایتون ورژن ۳.۹


ورژن جدیدی که از پایتون قراره به زودی معرفی بشه شامل ویژگی های خفنی هست که سعی میکنم تو این مقاله اونارو بررسی کنم .

۱ – عملگرهای جدید برای دیکشنری ها (New Dict Operators)

پایتون ۳.۹ عملگرهای ادغام (|) و به روزرسانی (| =) را در کلاس Dict معرفی کرده. اگر دو دیکشنری x و y دارید ، میتونید از این اپراتورها برای ادغام و بروزرسانی آنها استفاده کنید

x = {1: "one", 2: "two"}

y = {3: "three"}

میتونید برای ادغام هر دو دیکشنری از | استفاده کنید .

z=x|y

print(z)

[Output]: {1: "one", 2: "two", 3: "three"}

اما اگر دارای مقادیر مشترک باشند دیکشنری دوم به جای دیکشنری اول میشیند

x = {1: "one", 2: "two",3: "3"}

y = {3: "three"}z=x|y

print(z)

[Output]: {1: "one", 2: "two", 3: "three"}

برای به روز کردن دیکشنری می توانید از عملگر زیر استفاده کنید

x = {1: "one", 2: "three"}

y = {2: "two"}

x|=y

print(x)

[Output]: {1: "one", 2: "two"}

۲ – متد ها removeprefix و removesuffix برای رشته ها

برای پاک کردن اول یا اخر یک رشته بسیار کاربرد دارن به مثال زیر توجه کنید

'TestHook'.removeprefix('Test')

'Hook'

'BaseTestCase'.removeprefix('Test')

'BaseTestCase'

و متد removesuffix برای زمانی کاربر دارد که بخشی از رشته که میخوایم حذف کنیم رو نمیدونیم که چه جایگاهی قرار دارد و این متد به صورت خودکار انجام میده

'MiscTests'.removesuffix('Tests')

'Misc'

و اگر کلمه مورد نظر در رشته وجود نداشته باشد خود رشته رو به ما بر میگردونن

'TmpDirMixin'.removesuffix('Tests')

'TmpDirMixin'

۳ – کتابخانه zoneinfo برای ساپورت کردن اطلاعات زمانی در دیتابیس

>>> from zoneinfo import ZoneInfo

>>> from datetime import datetime

>>> dt = datetime(2020, 10, 31, 12, tzinfo=ZoneInfo("America/Los_Angeles"))>>> print(dt)

۲۰۲۰-۱۰-۳۱ ۱۲:۰۰:۰۰-۰۷:۰۰>>> dt.tzname()

'PDT'

۴ – Type hinting

پایتون انواع داده را به صورت پویا به یک متغیر اختصاص داده است. برای تخصیص استاتیک انواع داده ها ، از نوع اشاره استفاده می شود. اکه این ویژگی در پایتون ۳.۵ معرفی شد

که این قابلیت برای dict و list ها قابل استفاده است . به مثال زیر توجه کنید

def greet_all(names: list[str]) -> None:

for name in names:

print("Hello", name

قابلیت های اضافه شده در ورژن ۳.۹ به همین جا ختم نمیشه ولی اینا مهم ترین هایی بود که نوشتم . امید وارم مفید واقع بشه

منبع : mtkz.ir

برنامه نویسیپایتونهوش مصنوعی
برنامه نویس
شاید از این پست‌ها خوشتان بیاید