Fa'asa'olotoina o le Python 3.8 polokalame gagana

A maeʻa le tausaga ma le afa o le atinaʻe tuuina atu fa'alauiloa gagana fa'apolokalame tetele Python 3.8. Fa'asa'oga fa'afouga mo le Python 3.8 lala fuafuaina tatala i totonu ole 18 masina. O fa'afitauli ogaoga o le a fa'amautuina mo le 5 tausaga se'ia o'o ia Oketopa 2024. O faʻafouga faʻasaʻo mo le lala 3.8 o le a faʻasalalau i le lua masina, faʻatasi ai ma le faʻasaʻoga muamua o le Python 3.8.1 faʻatulagaina mo Tesema.

Faatasi ai ma le faaopoopo mea fou:

  • lagolago galuega fa'atino i totonu o fa'amatalaga lavelave. Faatasi ai ma le ":="" tagata faigaluega fou, e mafai ona faʻatinoina galuega faʻatatau i totonu o isi faʻamatalaga, mo se faʻataʻitaʻiga, e aloese ai mai le faaluaina o galuega i faʻamatalaga faʻamaonia ma pe a faʻamalamalamaina matasele:

    afai (n: = len(a)) > 10:
    ...

    a'o (poloka := f.read(256)) !=":
    ...

  • lagolago syntax fou mo le faʻamaonia o finauga o galuega. Pe a faʻavasegaina finauga i le taimi o se faʻamatalaga o galuega, e mafai nei ona e faʻamaonia se "/" e vavae ese ai finauga e mafai ona tuʻuina atu tau faʻavae e faʻavae i luga o le faʻatonuga o loʻo faʻamauina ai tau i le taimi o le galuega, mai finauga e mafai ona tuʻuina atu. i so'o se fa'atonuga (le "variable=value" syntax). I le itu aoga, o le mea fou e mafai ai e galuega i le Python ona faʻataʻitaʻiina atoatoa le amio o galuega o loʻo i ai i C, ma ia aloese mai le fusifusia i igoa patino, mo se faʻataʻitaʻiga, pe a fuafua le igoa o le parameter e suia i le lumanaʻi.

    O le fu'a "/" e fa'aopoopo i le fu'a "*" na fa'aopoopo muamua, e tu'u'ese'ese ai suiga e na'o se tofiga i le fomu "variable=value" e fa'atatau. Mo se faʻataʻitaʻiga, i le galuega "def (a, b, /, c, d, *, e, f):" o fesuiaiga "a" ma le "b" e mafai ona tuʻuina atu i le faasologa o tau o loʻo lisiina. ,
    fesuia'i "e" ma le "f", na'o le tofiga "suia = tau", ma fesuiaiga "c" ma le "d" i soo se auala nei:

    f(10, 20, 30, 40, e=50, f=60)
    f(10, 20, s=30, d=40, e=50, f=60)

  • Faʻaliliuga fou C API
    e faʻapipiʻi le Python initialization parameters, faʻatagaina le pulea atoatoa o mea uma faatulagaga ma le tu'uina atu o nofoaga fa'apitoa e fa'afoe ai mea sese. O le API fuafuaina e fa'afaigofie ai ona fa'apipi'i galuega fa'aliliu upu Python i isi fa'aoga C;

  • Fa'atinoina fou Vectorcall protocol mo le vave maua o mea faitino tusia i le gagana C. I le CPython 3.8, o le avanoa i le Vectorcall o loʻo faʻatapulaʻaina i le faʻaoga i totonu, o le faʻafeiloaʻiga i le vaega o API e mafai ona maua e tagata lautele o loʻo fuafuaina ile CPython 3.9;
  • Faaopoopo valaʻau i le Runtime Audit Hooks, lea e tuʻuina atu ai talosaga ma faʻatulagaga i le Python e maua ai faʻamatalaga maualalo e uiga i le alualu i luma o le tusitusiga e suʻe ai gaioiga na faia (mo se faʻataʻitaʻiga, e mafai ona e siaki le faʻaulufaleina o modules, tatala faila, faʻaaoga se faʻasologa, ulufale i sockets feso'ota'iga, ta'avale code e ala i le exec, eval ma le run_mod);
  • I totonu o le module piko saunia lagolago mo le Polokalama Pickle 5, faʻaaogaina mo le faʻasalalau ma faʻaumatia mea. Pickle e faʻatagaina oe e faʻamalieina le fesiitaiga o le tele o faʻamaumauga i le va o le Python faʻagasologa i le tele-core ma le tele-node configurations e ala i le faʻaitiitia o le numera o faʻagaioiga kopi manatua ma le faʻaogaina o auala faʻapitoa e pei o le faʻaogaina o faʻamaumauga faʻapitoa faʻapipiʻi algorithms. O le vaega lona lima o le protocol e iloga mo le faʻaopoopoina o se auala faʻasalalau fafo-o-band, lea e mafai ai ona tuʻu ese faʻamatalaga mai le vaitafe autu o piko.
  • Ona o le le mafai, o le faʻasologa lona fa o le Pickle protocol ua faʻagaoioia, lea, pe a faʻatusatusa i le lona tolu o loʻo tuʻuina atu muamua e ala i le le mafai, faʻatagaina mo le maualuga o le faʻatinoga ma le faʻaitiitia o le tele o faʻamatalaga faʻasalalau;
  • I totonu o le module tapena E tele fa'ailoga fou ua fa'aalia:
    • Vasega TypedDict mo fa'asologa fa'atasi o lo'o fa'ailoa manino mai ai fa'amatalaga mo fa'amaumauga e feso'ota'i ma ki (“TypedDict('Point2D', x=int, y=int, label=str)”).
    • Ituaiga Tusitusi, lea e mafai ai ona e faʻatapulaʻaina se parakalafa pe toe faʻafoʻi le tau i nai tau faʻatulagaina ("Literal['connected', 'disconnected']").
    • Fausia"mulimuli", lea e mafai ai ona faʻamatalaina tau o fesuiaiga, galuega, metotia ma vasega e le mafai ona suia pe toe faʻatulagaina ("pi: Final [float] = 3.1415926536").
  • Faʻaopoopo le tomai e tuʻuina atu ai se faʻaoga mo faila tuʻufaʻatasia ma le bytecode, faʻasaoina i se isi FS laau ma vavae ese mai faʻamaumauga ma le code. Ole ala mo le fa'asaoina o faila ile bytecode e fa'atulaga ile fesuiaiga PYTHONPYCACHEPREFIX po'o le filifiliga "-X pycache_prefix";
  • Fa'atinoina le mafai ona faia le debug builds o le Python e faʻaogaina ai le ABI e tutusa ma le faʻamalolo, lea e mafai ai ona e utaina faʻaopoopoga tusia i le gagana SI, tuʻufaʻatasia mo faʻamautu faʻamautu, i le faʻapipiʻiina;
  • f-strings (fa'asologa fa'aupu fa'apipi'i i le 'f') e maua ai le lagolago mo le = operator (mo se fa'ata'ita'iga, "f'{expr=}'"), lea e mafai ai ona e fa'aliliuina se fa'amatalaga i tusitusiga mo le fa'afaigofieina o le fa'aogaina. Faataitaiga:

    ››› fa'aoga = 'eric_idle'
    ››› sui_talu = aso(1975, 7, 31)
    ››› f'{user=} {member_ since=}'
    "user='eric_idle' member_since=datetime.date(1975, 7, 31)"

  • Fa'aaliga"faaauau pea» fa'atagaina e fa'aoga i totonu o se poloka mulimuli ane;
  • Fa'aopoopoina le module fou multiprocessing.shared_memory, faʻatagaina le faʻaogaina o vaega manatua faʻasoa i faʻasologa faʻasolosolo;
  • I luga o le Windows platform, o le asyncio faʻatinoga ua siitia e faʻaoga le vasega ProactorEventLoop;
  • O le faʻatinoga o le LOAD_GLOBAL faʻatonuga ua faʻateleina e tusa ma le 40% ona o le faʻaogaina o se mea fou faʻapipiʻi faʻailoga.

puna: opennet.ru

Faaopoopo i ai se faamatalaga