Fa'asa'olotoina o le Python 3.10 polokalame gagana

A maeʻa le tausaga o atinaʻe, o le faʻasalalauga taua o le Python 3.10 polokalame gagana e tuʻuina atu. O le lala fou o le a lagolagoina mo le tasi ma le afa tausaga, a maeʻa mo le isi tolu ma le afa tausaga, o le a faʻaleleia atili e faʻaumatia ai faʻafitauli.

I le taimi lava e tasi, na amata ai le suʻega o le alpha o le Python 3.11 paranesi (e tusa ai ma le faʻatulagaga fou o le atinaʻe, o le galue i se lala fou e amata i le lima masina aʻo leʻi tatalaina le lala muamua ma oʻo atu i le faʻataʻitaʻiga o le alpha i le taimi o le isi faʻasalalauga. ). O le Python 3.11 lala o le a tuʻuina atu i le alpha release mo le fitu masina, lea o le a faʻaopoopoina ai foliga fou ma faʻamautu faʻamau. A maeʻa lenei mea, o le a faʻataʻitaʻiina lomiga beta mo le tolu masina, lea o le a faʻasaina ai le faʻaopoopoina o foliga fou ma o le a gauai uma i le faʻaleleia o bug. Mo le lua masina mulimuli a'o le'i tatalaina, o le a i ai le lala i le tulaga o le sui tauva, lea o le a faia ai le faʻamautuina mulimuli.

O faʻaopoopoga fou ile Python 3.10 e aofia ai:

  • Fa'atinoina le "match" ma le "case" operators mo le fa'atusaina o mamanu, e fa'aleleia atili ai le faitau tusi, fa'afaigofie le fa'afetauiina o mea fai Python, ma fa'ateleina le fa'atuatuaina o le code e ala i su'esu'ega fa'asolosolo. O le faʻatinoga e pei lava o le "match" operator o loʻo tuʻuina atu i le Scala, Rust, ma le F #, lea e faʻatusatusa ai le taunuuga o se faʻamatalaga faʻamaonia ma se lisi o mamanu o loʻo lisiina i poloka e faʻavae i luga o le "case" operator.

    def http_error(tulaga): tulaga fetaui: mataupu 400: toe faafoi "Talosaga leaga" mataupu 401|403|404: toe faafoi "E le faatagaina" mataupu 418: toe faafoi "O aʻu o se ipu ipu" pusa _: toe faafoi "Se isi mea"

    E mafai ona e tatalaina mea, tuples, lisi, ma faʻasologa faʻasolosolo e fusifusia ai fesuiaiga e faʻatatau i tau o loʻo iai. E fa'ataga ona fa'amatala fa'ata'ita'iga fa'aputu, fa'aoga tu'utu'uga fa'aopoopo "pe a" i le fa'ata'ita'iga, fa'aoga matapulepule ("[x, y, *malo]"), fa'afanua ki/taua (fa'ata'ita'iga, {"bandwidth": b, “latency ”: l} e aveese mai ai le "bandwidth" ma le "latency" values ​​​​mai se lomifefiloi), ave'ese subtemplates (":=" operator), fa'aaoga igoa tumau i se mamanu. I totonu o vasega, e mafai ona faʻavasegaina faʻatusa amio e faʻaaoga ai le "__match__()" metotia.

    mai dataclasses fa'aulufale mai dataclass @dataclass vasega Fa'ailoga: x: int y: int def whereis(point): fa'atusa mata'upu: mata'upu Point(0, 0): lolomi("Origin") case Point(0, y): lolomi(f" Y={y}") mata'upu Fa'ailoga(x, 0): lolomi(f"X={x}") mata'upu Fa'ailoga(): lolomi("I se isi mea") mata'upu _: lolomi("E le'o se togi") fa'afetaui mata'itusi: mata'itusi Fa'ailoga(x, y) pe afai x == y: lolomi(f"Y=X ile {x}") mata'upu Fa'ailoga(x, y): lolomi(f"E le'o le fa'ata'oto") MULAU, MULAU, MINANI = 0, 1, 2 lanu fetaui: mata MULA: lolomi(“Ua ou vaai i le mumu!”) mea lanu meamata: lolomi(“Mutia e lanu meamata”) mea MULAU: lolomi(“Ua ou lagonaina le lanumoana :(“)

  • Ua mafai nei ona fa'aoga puipui ile fa'amatalaga fa'atasi e vaelua ai le fa'auigaina o se fa'aputuga o fa'atonu o fa'amatalaga ile tele o laina. E fa'ataga fo'i ona tu'u se koma pe a mae'a le pule o fa'amatalaga mulimuli i le vaega: fa'atasi ma ( CtxManager1() fa'ata'ita'iga1, CtxManager2() fa'ata'ita'iga2, CtxManager3() fa'ata'ita'iga3, ): ...
  • Fa'aleleia le lipotia o le fa'ailoga nofoaga o mea sese e feso'ota'i ma fa'amau e le'i tapuni ma upusii i totonu o le manoa. Mo se faʻataʻitaʻiga, pe a iai se faʻamaufaʻailoga e leʻi tapunia, nai lo le lipotia o se faʻasologa o mea sese i le fausaga o loʻo mulimuli mai, o loʻo faʻamamafaina nei e le faʻailoga le faʻailoga tatala ma faʻaalia e leai se poloka tapuni. File "example.py", laina 1 faamoemoeina = {9:1, 18:2, 19:2, 27:3, 28:3, 29:3, 36:4, 37:4, ^SyntaxError: '{' e le'i tapunia lava

    Faʻaopoopoina faʻamatalaga faʻapitoa faʻamatalaga sese: misi ":" faʻailoga i luma o se poloka ma i totonu o lomifefiloi, e le o le vavaeina o se tuple ma puipui, misi se koma i lisi, faʻamaonia se poloka "taumafai" e aunoa ma le "vagana ai" ma le "mulimuli", faʻaaoga "= " nai lo le "= =" i faʻatusatusaga, faʻamaonia *-faʻamatalaga i f- manoa. E le gata i lea, e faʻamautinoaina o le faʻamatalaga faʻafitauli atoa o loʻo faʻamaonia, e le naʻo le amataga, ma faʻamatalaga manino e uiga i le faʻamatalaga o mea sese e fesoʻotaʻi ma le le saʻo faʻailoga. >>> def foo(): ... if lel: ... x = 2 File " ", laina 3 x = 2 ^ IndentationError: faʻamoemoeina se poloka faʻapipiʻi pe a uma le 'afai' faʻamatalaga i le laina 2

    I mea sese e mafua mai i le typos i igoa o uiga ma igoa fesuiaʻi i se galuega, o se fautuaga ma le igoa saʻo o le gaosiga. >>>collections.namedtoplo Traceback (valaau lata mai mulimuli): Faila « ", laina 1, i AttributeError: module 'collections' e leai se uiga 'namedtoplo'. O le uiga o lau tala: nametuple?

  • Mo mea fa'apipi'i ma fa'amatalaga, su'esu'e mea tutupu o lo'o tu'uina atu i numera sa'o o laina fa'atino.
  • Fa'aopoopoina le seti sys.flags.warn_default_encoding e fa'aalia ai se lapataiga e uiga i mea sese e mafai ona feso'ota'i ma TextIOWrapper ma tatala() fa'agaioiina faila fa'ailoga UTF-8 e aunoa ma le fa'ailoa manino mai o le 'encoding=»utf-8″' filifiliga (ASCII encoding e fa'aaogaina e ala i le faaletonu). O le fa'asalalauga fou e maua ai fo'i le agava'a e fa'amaoti ai se tau o le 'encoding="locale"' e fa'atulaga ai le encoding e fa'atatau i le nofoaga o iai nei.
  • Ua faʻaopoopoina se tagata faʻapipiʻi fou i le masini faʻapipiʻi, lea e tuʻuina atu meafaigaluega mo le faʻamaonia o faʻamatalaga ituaiga, faʻatagaina le faʻaogaina o le syntax "X | Y" e filifili ai se tasi o ituaiga (ituaiga X po'o le Y). def sikuea(numera: int | opeopea) -> int | opeopea: fa'afo'i le numera ** 2 e tutusa ma le mea na lagolagoina muamua: def square(numera: Union[int, float]) -> Union[int, float]: toe faafoi numera ** 2
  • O le Concatenate operator ma le ParamSpec fesuia'i ua fa'aopoopoina i le ta'i fa'aoga, lea e mafai ai ona e pasi fa'amatalaga fa'aopoopo mo le siakiina o ituaiga fa'amau pe'a fa'aaoga Callable. O lo'o fa'aopoopoina fo'i e le ta'itusi fa'atauga fa'apitoa TypeGuard e fa'ailoa ai galuega puipuia o ituaiga ma TypeAlias ​​e fa'amatala manino ai se ituaiga igoa. StrCache: TypeAlias ​​​​= 'Cache[str]' # se ituaiga igoa
  • Ole galuega zip() e fa'atino ai se fu'a "malosi", lea, pe a fa'amaonia, siaki pe tutusa le umi o finauga o lo'o fa'ailoa. >>> lisi(sipi(('a', 'b', 'c'), (1, 2, 3), strict=True)) [('a', 1), ('b', 2) , ('c', 3)] >>> lisi(zip(range(3), ['fee', 'fi', 'fo', 'fum'], strict=True)) Traceback (valaau lata mai mulimuli ): … ValueError: zip() finauga 2 e umi atu nai lo le finauga 1
  • O galuega fou ua fausia aiter() ma le isi() o lo'o fa'atulagaina ma le fa'atinoina o analogues asynchronous i galuega iter() ma le isi().
  • O le galuega a le str(), bytes() ma bytearray() constructors pe a galulue ma mea laiti ua faatelevaveina e 30-40%.
  • Fa'aiti'itia le aofa'i o galuega fa'aulufale mai i totonu o le module runpy. O le poloaiga "python3 -m module_name" o loʻo faʻagasolo nei i le averesi 1.4 taimi vave ona o le faʻaititia o faʻaulufale mai modules mai le 69 i le 51.
  • O le LOAD_ATTR faʻatonuga e faʻaaogaina ai se masini faʻapipiʻi mo opcodes taʻitasi, lea na mafai ai ona faʻavavevave galuega ma uiga masani e oʻo atu i le 36%, ma avanoa e oʻo atu i le 44%.
  • Pe a fausia le Python i le "--enable-optimizations" filifiliga, o le "-fno-semantic-interposition" mode ua mafai nei, lea e mafai ai ona faʻavave le faʻaliliuga e oʻo atu i le 30% pe a faʻatusatusa i le fausiaina ma le "--enable-shared. ” filifiliga.
  • O le hashlib ma ssl modules ua faʻaopoopoina le lagolago mo OpenSSL 3.0.0 ma taofi le lagolagoina o OpenSSL versions e sili atu nai lo le 1.1.1.
  • Ua aveese le parser tuai, lea na suia i le lala muamua e le PEG (Parsing Expression Grammar) parser. Ua aveese le module formatter. Ua ave'esea le fa'ailoga matasele mai le asyncio API. Ua ave'esea fo'i auala sa le'i fa'aaogaina. O galuega a Py_UNICODE_str* e fa'aogaina ai le Py_UNICODE* ua aveese.
  • O le distutils module ua le toe faʻaaogaina ma ua faʻatulagaina mo le aveeseina i le Python 3.12. Nai lo distutils, e fautuaina e faʻaaoga le setuptools, afifiina, tulaga, shutil, subprocess ma sysconfig modules. O le fausaga wstr i le PyUnicodeObject ua le toe faʻaaogaina ma faʻatulagaina mo le aveeseina.

puna: opennet.ru

Faaopoopo i ai se faamatalaga