د یو کال پرمختګ وروسته
په نوې څانګه کې کار اوس د بلې څانګې د خوشې کیدو څخه پنځه میاشتې دمخه پیل کیږي، د بیلګې په توګه. د Python 3.9 خوشې کولو سره همغږي
- په لغتونو کې د جوړ شوي ډیکټ کلاس په کارولو سره تعریف شوي،
ښکاره شوه د ادغام آپریټرانو لپاره ملاتړ "|" او "|=" تازه معلومات، کوم چې د لغتونو د یوځای کولو لپاره مخکې وړاندیز شوي {**d1، **d2} او dict.update میتودونه بشپړوي.>>> x = {"key1": "value1 from x", "key2": "value2 from x"}
>>> y = {"key2": "value2 from y", "key3": "value3 from y"}>>> x | y
{'key1': 'value1 له x', 'key2': 'value2 له y', 'key3': 'value3 له y'}>>> y | x
{'key2': 'value2 له x', 'key3': 'value3 له y', 'key1': 'value1 له x'} - د ډولونو جوړ شوي ټولګه کې لیست، ډیک، او ټپل شامل دي، کوم چې د ټایپینګ ماډل څخه واردولو پرته د بیس ډولونو په توګه کارول کیدی شي. هغوی. د ټایپ کولو پر ځای. لیست، ټایپ کول. ډیکټ او ټایپ کول. تاسو اوس کولی شئ مشخص کړئ
یوازې لیست، لیک او ټپل:def greet_all(نومونه: لیست[str]) -> هیڅ نه:
په نومونو کې د نوم لپاره:
چاپ ("سلام"، نوم) -
ورکړل شوي دي د دندو او متغیرونو تشریح کولو لپاره انعطاف وړ وسیلې. د تشریحاتو ضمیمه کولو لپاره ، د ټایپ کولو ماډل کې نوی تشریح شوی ډول اضافه شوی ، د اضافي میټاډاټا سره موجوده ډولونه پراخوي چې د جامد تحلیل یا د چلولو وخت اصلاح لپاره کارول کیدی شي. د کوډ څخه میټاډاټا ته د لاسرسي لپاره ، د typing.get_type_hints() میتود کې include_extras پیرامیټر اضافه شوی.charType = تشریح شوی[int, ctype("char")] UnsignedShort = تشریح شوی [int, struct2.ctype('H')]
-
ټیټ شوی د سینګار کونکو لپاره ګرامري اړتیاوې - هر هغه څرګندونه چې د کارولو لپاره مناسبه ده که چیرې بلاکونه اوس د سینګار کونکي په توګه کارول کیدی شي. بدلون د پام وړ د PyQt5 کوډ لوستلو وړتیا ښه کړې او د دې ماډل ساتنه یې ساده کړې:وو:
button_0 = تڼۍ[0] @button_0.clicked.connectاوس تاسو کولی شئ ولیکئ:
@buttons[0].clicked.connect - معياري کتابتون ته
زیاته کړه موډلزونینفو په کوم کې چې د IANA د وخت زون ډیټابیس معلومات شامل دي.>>> د زون انفو څخه د زون انفو وارد کړئ
>>> د نیټې وخت واردولو نیټه وخت، وخت ډیلټا
>>> # د اوړي وخت
>>> dt = نیټه وخت(2020, 10, 31, 12, tzinfo=ZoneInfo("امریکا/لاس_انجیلس"))
>>> چاپ (dt)
2020-10-31 12:00:00-07:00>>> dt.tzname()
'PDT'>>> # معیاري وخت
>>> dt += timedelta(ورځو=7)
>>> چاپ (dt)
2020-11-07 12:00:00-08:00>>> چاپ(dt.tzname())
پي ایس ټي - د ګرافلیب ماډل اضافه شوی، په کوم کې
پلي شوي د ګرافونو د توپولوژیکي ترتیب لپاره ملاتړ. -
وړاندیز شوی د مخکینیو او کرښو د پای ته رسولو لپاره نوې طریقې - str.removeprefix(prefix) او str.removesuffix(suffix). میتودونه په str، bytes، bytearray او ټولګه کې اضافه شوي دي.UserString څیزونه.>>> s = "FooBar"
>>> s.removeprefix("Foo")
'بار' -
ښکېل نوی پارسرPEG (Parsing expression Grammar) چې د پارسر پر ځای بدل شویLL(1) . د نوي پارسر کارولو دا ممکنه کړې چې د ځینو "هیکونو" څخه ځان خلاص کړي چې په LL(1) کې د محدودیتونو څخه د تیریدو لپاره کارول کیږي، او د پام وړ د پارسر ساتلو لپاره د کار لګښتونه کم کړي. د فعالیت په شرایطو کې، نوی پارسر تقریبا د تیر په څیر په ورته کچه کې دی، مګر د انعطاف په شرایطو کې د پام وړ مخکې دی، کوم چې تاسو ته اجازه درکوي چې د نوي ژبې ځانګړتیاوې ډیزاین کولو په وخت کې ډیر وړیا احساس وکړئ. زوړ پارسر کوډ د اوس لپاره ساتل شوی او د "-X oldparser" بیرغ یا "PYTHONOLDPARSER=1" چاپیریال متغیر په کارولو سره بیرته راستانه کیدی شي، مګر په 3.10 خوشې کولو کې به لیرې شي. -
چمتو کړي د ماډلونو حالت ته د لاسرسي لپاره د C توسیع میتودونو وړتیا په کوم کې چې دوی د PyState_FindModule فنکشن په کارولو سره د ماډل حالت لټون کولو پرځای د مستقیم پوائنټر ډیریفرنس په کارولو سره تعریف شوي. بدلون تاسو ته اجازه درکوي د ماډل حالت چیک کولو سر سر ټیټولو یا په بشپړ ډول له مینځه وړلو سره د C ماډلونو فعالیت زیات کړئ. د ټولګي سره د ماډل د شریکولو لپاره، د C-function PyType_FromModuleAndSpec() وړاندیز شوی، د ماډل او د هغه حالت ترلاسه کولو لپاره، د C-functions PyType_GetModule() او PyType_GetModuleState() وړاندیز شوی، او ټولګي ته د لاسرسي میتود چمتو کولو لپاره. په کوم کې چې دا تعریف شوی، د C-function PyCMethod او METH_METHOD بیرغ وړاندیز شوی. . - د کثافاتو راټولونکی
سپارل د تالاشۍ راټولولو څخه چې بیا متحرک شوي توکي لري چې د پای ته رسیدو وروسته بهر ته د لاسرسي وړ پاتې کیږي. - اضافه شوی طریقه
os.pidfd_open ، کوم چې د لینکس کرنل سب سیسټم "pidfd" ته اجازه ورکوي چې د PID بیا کارونې وضعیت اداره کولو لپاره وکارول شي (pidfd د یو ځانګړي پروسې سره تړاو لري او نه بدلیږي ، پداسې حال کې چې PID د اوسني پروسې سره تړلی د هغه PID پای ته رسیدو وروسته د بلې پروسې سره تړل کیدی شي. ). - د یونیکوډ مشخصاتو لپاره ملاتړ 13.0.0 نسخه ته تازه شوی.
- له منځه وړل
د حافظې لیک کله چې په ورته پروسه کې د Python ژباړونکي بیا پیل کول. - د جوړ شوي ډولونو رینج ، ټپل ، سیټ ، منجمد سیټ ، لیست او ډیکټ فعالیت غوره شوی.
پلي شوي د C ژبه کې لیکل شوي شیانو ته د ګړندي لاسرسي لپاره د ویکتورکال شارټ کټ پروتوکول کارولو له لارې. - ماډلونه _abc، audioop، _bz2، _codecs، _contextvars، _crypt، _functools، _json، _locale، آپریټر، سرچینه، وخت او _weakref له دې څخه بار شوي دي
په څو مرحلو کې پیل کول . - د معیاري کتابتون ماډلونه audioop، ast، grp، _hashlib، pwd، _posixsubprocess، random، Select، struct، termios او zlib د محدودیت کارولو لپاره بدل شوي
مستحکم ABI ، کوم چې د Python د مختلف نسخو لپاره د توسیع ماډلونو مجلسونو د فعالیت ستونزه حل کوي (کله چې نسخه تازه کوي ، د توسیع ماډلونو بیا جوړولو ته اړتیا نشته ، او د 3.9 لپاره ترتیب شوي ماډلونه به د 3.10 څانګې کې کار کولو وړ وي). - د asyncio ماډل د احتمالي امنیتي مسلو له امله د reuse_address پیرامیټر لپاره ملاتړ له پامه غورځولی دی (په لینکس کې د UDP لپاره د SO_REUSEADDR کارول مختلف پروسې ته اجازه ورکوي چې د UDP پورټ ته د اوریدلو ساکټونه ضمیمه کړي).
- نوي اصلاحونه اضافه شوي، د بیلګې په توګه، په څو اړخیزو غوښتنلیکونو کې د سیګنال هینډلرانو ښه فعالیت، د FreeBSD چاپیریال کې د فرعي پروسس ماډل سرعت زیات شوی، او د لنډمهاله متغیرونو ګړندۍ ګمارل (په بیان کې د یو متغیر ټاکل "د y لپاره په [expr] کې ]" اوس د "y = expr"" بیان په څیر کار کوي). په عموم کې، ډیری ازموینې
ښودل د شاخ 3.8 په پرتله د فعالیت کمښت (چټک یوازې د رایټ_لوکل او رایټ_ډیکو ازموینې کې لیدل کیږي):د پایتون نسخه 3.4 3.5 3.6 3.7 3.8 3.9
———————————متغیر او خاصیت لوستلو لاسرسی:
لوستل_ ځایی 7.1 7.1 5.4 5.1 3.9 4.0
غیر محلي لوستل 7.1 8.1 5.8 5.4 4.4 4.8
لوستل_ګلوبل 15.5 19.0 14.3 13.6 7.6 7.7
لوستل_جوړول 21.1 21.6 18.5 19.0 7.5 7.7
لوستل_کلاسوار_د_کلاس 25.6 26.5 20.7 19.5 18.4 18.6
لوستل_کلاسوار_څخه_مثال 22.8 23.5 18.8 17.1 16.4 20.1
د لوستلو_مثال 32.4 33.1 28.0 26.3 25.4 27.7
لوستل_انسټانسوار_سلاټونه 27.8 31.3 20.8 20.8 20.2 24.5
لوستل_نوم ټوک 73.8 57.5 45.0 46.8 18.4 23.2
د لوستلو_بندولو طریقه 37.6 37.9 29.6 26.9 27.7 45.9متغیر او خاصیت لیکلو لاسرسی:
ليکنه_لوکل 8.7 9.3 5.5 5.3 4.3 4.2
غیر محلي لیکل 10.5 11.1 5.6 5.5 4.7 4.9
د_ګلوبل ليکنه 19.7 21.2 18.0 18.0 15.8 17.2
د لیکلو_کلاسوار 92.9 96.0 104.6 102.1 39.2 43.2
44.6 45.8 40.0 38.9 35.5 40.7 ولیکئ
د_انسټانسوار_سلاټونه 35.6 36.1 27.3 26.6 25.7 27.7 ولیکئد معلوماتو جوړښت لوستلو لاسرسی:
د لوستلو_لست 24.2 24.5 20.8 20.8 19.0 21.1
لوستل 24.7 25.5 20.2 20.6 19.8 21.6
لوستل 24.3 25.7 22.3 23.0 21.0 22.5
لوستل 22.6 24.3 19.5 21.2 18.9 21.6د معلوماتو جوړښت لیکلو لاسرسی:
د لیکلو_لست 27.1 28.5 22.5 21.6 20.0 21.6
د لیکلو_ډیک 28.7 30.1 22.7 21.8 23.5 23.2
ليکنه 31.4 33.3 29.3 29.2 24.7 27.8
د لیکلو_ستریت 28.4 29.9 27.5 25.2 23.1 29.8سټیک (یا قطار) عملیات:
list_append_pop 93.4 112.7 75.4 74.2 50.8 53.9
deque_append_pop 43.5 57.0 49.4 49.2 42.5 45.5
deque_append_popleft 43.7 57.3 49.7 49.7 42.8 45.5د مهال ویش:
لوپ_اوور سر 0.5 0.6 0.4 0.3 0.3 0.3 -
لرې کړل د Python 2.7 ډیری دندې او میتودونه چې مخکې له پامه غورځول شوي وو او په تیرو خپرونو کې د DeprecationWarning په پایله کې په html.parser.HTMLParser کې د unescape() میتود په شمول،
tostring() او fromstring() په array.array کې، isAlive() په threading.Thread کې، getchildren() او getiterator() په ElementTree کې، sys.getcheckinterval()، sys.setcheckinterval()، asyncio.Task.current_task()، asyncio.Task.all_tasks()، base64.encodestring() او base64.decodestring().
سرچینه: opennet.ru