Python jẹ ede siseto itumọ ti ipele giga ti imọ-jinlẹ rẹ tẹnu mọ kika kika ti koodu rẹ.
Lẹhin ọdun kan ti idagbasoke, ẹya tuntun ti ede siseto Python 3.11 ti ṣe atẹjade, Ẹka tuntun yoo ṣe atilẹyin fun ọdun kan ati idaji, lẹhin eyi ti awọn abulẹ pẹlu awọn ailagbara yoo ṣẹda fun ọdun mẹta ati idaji miiran.
Ni akoko kanna, idanwo alpha ti ẹka Python 3.12 bẹrẹ (gẹgẹ bi iṣeto idagbasoke tuntun, iṣẹ lori ẹka tuntun bẹrẹ ni oṣu marun ṣaaju itusilẹ ti ẹka iṣaaju ati de ọdọ idanwo alpha ni akoko ti ikede atẹle).
Ẹka Python 3.12 yoo wa ni awọn idasilẹ alfa fun oṣu meje, lakoko eyiti awọn ẹya tuntun yoo ṣafikun ati awọn idun ti o wa titi. Lẹhin iyẹn, idanwo beta yoo waye fun oṣu mẹta, lakoko eyiti afikun awọn ẹya tuntun yoo ni idinamọ ati pe akiyesi ni kikun yoo fun awọn atunṣe kokoro. Oṣu meji ti o kẹhin ṣaaju ifilọlẹ, ẹka naa yoo wa ni ipele oludije ifilọlẹ, ni aaye wo imuduro ipari yoo waye.
Awọn ẹya tuntun akọkọ ti Python 3.11
Ninu ẹya tuntun yii Iṣẹ pataki ti ṣe lati mu iṣẹ ṣiṣe dara si, bi ẹka titun pẹlu awọn iyipada ti o jọmọ pẹlu isare ati imuṣiṣẹ inline ti awọn ipe iṣẹ, lilo awọn onitumọ ti o yara ti awọn iṣẹ aṣoju, bakannaa awọn iṣapeye ti a pese sile nipasẹ awọn iṣẹ Cinder ati HotPy. Ti o da lori iru fifuye, iyara ti ipaniyan koodu pọ si laarin 10% ati 60%. Ni apapọ, iṣẹ ṣiṣe nigbati o ba kọja suite idanwo pyperformance pọ nipasẹ 25%.
Ilana caching ti tun ṣe ti bytecode, eyiti o dinku akoko ibẹrẹ onitumọ nipasẹ 10-15%. Awọn nkan ti o ni koodu ati koodu baiti ti pin ni iṣiro nipasẹ onitumọ, eyiti o jẹ ki o ṣee ṣe lati yọkuro awọn igbesẹ ti ṣiṣafihan bytecode ti a mu lati kaṣe ati iyipada awọn nkan pẹlu koodu lati gbe wọn si iranti okiti.
Afikun support fun iyasoto awọn ẹgbẹ, eyiti o fun eto naa ni agbara lati gbe soke ati ilana ọpọlọpọ awọn imukuro oriṣiriṣi ni akoko kanna. Awọn oriṣi iyasọtọ tuntun ExceptionGroup ati BaseExceptionGroup ni a dabaa lati ṣe akojọpọ awọn imukuro lọpọlọpọ papọ, ati ikosile “ayafi*” ni a ṣafikun lati ya awọn imukuro kuro ninu ẹgbẹ kan.
Ṣafikun iru LitealString pataki kan bẹ nikan le pẹlu awọn gbolohun ọrọ gangan ti o ni ibamu pẹlu iru LiteralString (ti o jẹ, igboro awọn gbolohun ọrọ ati awọn gbolohun ọrọ ti iru LiteralString, sugbon ko lainidii tabi adalu awọn gbolohun ọrọ ti iru str). Iru LiteralString ni a le lo lati ṣe idinwo gbigbe awọn ariyanjiyan okun si awọn iṣẹ, iyipada lainidii ti awọn apakan ti awọn gbolohun ọrọ nibiti o le ja si awọn ailagbara, fun apẹẹrẹ, nigbati o ba ṣẹda awọn okun fun awọn ibeere SQL tabi awọn aṣẹ ikarahun.
Ni afikun si iyẹn, tun Agbara lati samisi awọn eroja kọọkan ti awọn iwe-itumọ ti pese (TypedDict) pẹlu Awọn asia ti o nilo ati ti ko nilo lati pinnu awọn aaye ti o nilo ati yiyan (nipa aiyipada, gbogbo awọn aaye ti a kede ni a nilo ti paramita lapapọ ko ba ṣeto si Iro).
Fi kun @dataclass_transform kilasi, ọna ati ohun ọṣọ iṣẹ, nigba ti pàtó kan, awọn aimi iru checker toju ohun bi ẹnipe lilo @dataclasses.dataclass ọṣọ.
Ti awọn ayipada miiran ti o duro ni ẹya tuntun yii:
- Ṣe afikun agbara lati lo akojọpọ atomiki ((?>…)) ati ilara (ti o ni agbara) awọn iwọn (*+, ++, ?+, {m,n}+) ni awọn ikosile deede.
- Iru TypeVarTuple ni a ti ṣafikun, eyiti ngbanilaaye lilo awọn jeneriki oniyipada, ko dabi TypeVar, eyiti kii ṣe iru kan, ṣugbọn nọmba lainidii ti awọn oriṣi.
- Ile-ikawe boṣewa pẹlu module tomllib pẹlu awọn iṣẹ lati ṣe itupalẹ ọna kika TOML.
- Ọna add_note () ti ni afikun si kilasi BaseException, eyiti o fun laaye akọsilẹ ọrọ lati somọ iyasọtọ, fun apẹẹrẹ lati ṣafikun alaye ọrọ-ọrọ ti ko si ni akoko ti a da imukuro naa silẹ.
- A ti ṣafikun Iru Ara pataki lati ṣe aṣoju kilasi aladani lọwọlọwọ. Ara le ṣee lo lati ṣe alaye awọn ọna ti o da apẹẹrẹ ti kilasi rẹ pada ni ọna ti o rọrun ju lilo TypeVar lọ.
- Fi kun aṣayan laini aṣẹ "-P" ati PYTHONSAFEPATH oniyipada ayika lati mu asopọ aifọwọyi ti awọn ọna faili ti ko lewu si sys.path.
- IwUlO py.exe fun iru ẹrọ Windows ti ni ilọsiwaju ni pataki lati ṣe atilẹyin sintasi "-V:". / " ni afikun si "- . ».
- Ọpọlọpọ awọn macros C API ti ni iyipada si deede tabi awọn iṣẹ laini aimi
- Awọn uu, cgi, pipes, crypt, aifc, chunk, msilib, telnetlib, audioop, nis, snhddr, imghdr, nntplib, spwd, xdrlib, cgitb, mailcap, ossaudiodev, ati sunau module ti a ti parẹ ati pe yoo yọ kuro lati Python. 3.13 idasilẹ.
- Awọn iṣẹ PyUnicode_Encode* kuro.
- Kilasi TaskGroup ni a ṣafikun si module asyncio pẹlu imuse ti oluṣakoso ọrọ ọrọ asynchronous ti o duro de ẹgbẹ iṣẹ-ṣiṣe lati pari.
- Ṣafikun awọn iṣẹ ṣiṣe si ẹgbẹ kan ni lilo ọna ṣẹda_task ().
Níkẹyìn ti o ba nifẹ lati mọ diẹ sii nipa rẹ, o le ṣayẹwo awọn alaye inu ọna asopọ atẹle.
Jẹ akọkọ lati sọ ọrọ