ΠŸΡƒΡΠΊΠ°Π½Π΅ Π½Π° Π΅Π·ΠΈΠΊΠ° Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ Python 3.8

Π‘Π»Π΅Π΄ Π³ΠΎΠ΄ΠΈΠ½Π° ΠΈ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° прСдставСни основна вСрсия Π½Π° Π΅Π·ΠΈΠΊΠ° Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ Python 3.8. ΠšΠΎΡ€ΠΈΠ³ΠΈΡ€Π°Ρ‰ΠΈ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π·Π° ΠΊΠ»ΠΎΠ½ Π½Π° Python 3.8 Π΅ ΠΏΠ»Π°Π½ΠΈΡ€Π°Π½ΠΎ освобоТдаванС Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° 18 мСсСца. ΠšΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΈΡ‚Π΅ уязвимости Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ ΠΊΠΎΡ€ΠΈΠ³ΠΈΡ€Π°Π½ΠΈ Π·Π° 5 Π³ΠΎΠ΄ΠΈΠ½ΠΈ Π΄ΠΎ ΠΎΠΊΡ‚ΠΎΠΌΠ²Ρ€ΠΈ 2024 Π³. ΠšΠΎΡ€ΠΈΠ³ΠΈΡ€Π°Ρ‰ΠΈ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π·Π° ΠΊΠ»ΠΎΠ½Π° 3.8 Ρ‰Π΅ сС пускат Π½Π° всСки Π΄Π²Π° мСсСца, ΠΊΠ°Ρ‚ΠΎ ΠΏΡŠΡ€Π²ΠΎΡ‚ΠΎ ΠΊΠΎΡ€ΠΈΠ³ΠΈΡ€Π°Ρ‰ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° Python 3.8.1 Π΅ ΠΏΠ»Π°Π½ΠΈΡ€Π°Π½ΠΎ Π·Π° Π΄Π΅ΠΊΠ΅ΠΌΠ²Ρ€ΠΈ.

Π‘Ρ€Π΅Π΄ Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈΡ‚Π΅ ΠΈΠ½ΠΎΠ²Π°Ρ†ΠΈΠΈ:

  • ΠŸΠΎΠ΄ΠΊΡ€Π΅ΠΏΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π·Π° присвояванС Π² слоТни ΠΈΠ·Ρ€Π°Π·ΠΈ. Π‘ новия ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ β€ž:=β€œ Π΅ възмоТно Π΄Π° сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π·Π° присвояванС Π½Π° стойност Π² Π΄Ρ€ΡƒΠ³ΠΈ ΠΈΠ·Ρ€Π°Π·ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π·Π° Π΄Π° сС ΠΈΠ·Π±Π΅Π³Π½Π°Ρ‚ Π΄Π²ΠΎΠΉΠ½ΠΈ извиквания Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² условни ΠΈΠ·Ρ€Π°Π·ΠΈ ΠΈ ΠΏΡ€ΠΈ Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Π½Π΅ Π½Π° Ρ†ΠΈΠΊΠ»ΠΈ:

    Π°ΠΊΠΎ (n := len(a)) > 10:
    ...

    Π΄ΠΎΠΊΠ°Ρ‚ΠΎ (Π±Π»ΠΎΠΊ := f.read(256)) != ":
    ...

  • ΠŸΠΎΠ΄ΠΊΡ€Π΅ΠΏΠ° Π½ΠΎΠ² синтаксис Π·Π° ΡƒΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ‚Π΅ Π½Π° функцията. ΠšΠΎΠ³Π°Ρ‚ΠΎ изброяватС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΈ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Π½Π΅ Π½Π° функция, Π²Π΅Ρ‡Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° посочитС "/", Π·Π° Π΄Π° Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ‚Π΅, Π½Π° ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ присвоСни само стойности въз основа Π½Π° Ρ€Π΅Π΄Π°, Π² ΠΊΠΎΠΉΡ‚ΠΎ стойноститС са ΠΈΠ·Π±Ρ€ΠΎΠ΅Π½ΠΈ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° функцията, ΠΎΡ‚ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ присвоСни Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»Π΅Π½ Ρ€Π΅Π΄ (ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°=синтаксис Π½Π° стойност)). ΠžΡ‚ практичСска Π³Π»Π΅Π΄Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ°, Π½ΠΎΠ²Π°Ρ‚Π° функция позволява Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ Π² Python напълно Π΄Π° Π΅ΠΌΡƒΠ»ΠΈΡ€Π°Ρ‚ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² C, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ Π΄Π° избягват ΠΎΠ±Π²ΡŠΡ€Π·Π²Π°Π½Π΅Ρ‚ΠΎ към ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΈ ΠΈΠΌΠ΅Π½Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π°ΠΊΠΎ ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€Π° сС ΠΏΠ»Π°Π½ΠΈΡ€Π° Π΄Π° бъдС ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅Π½ΠΎ Π² Π±ΡŠΠ΄Π΅Ρ‰Π΅.

    Π€Π»Π°Π³ΡŠΡ‚ β€œ/” допълва добавСния ΠΏΠΎ-Ρ€Π°Π½ΠΎ Ρ„Π»Π°Π³ β€œ*”, раздСляйки ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ, Π·Π° ΠΊΠΎΠΈΡ‚ΠΎ Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈΠΌΠΎ само присвояванС във Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° β€œΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°=стойност”. НапримСр във функцията "def f(a, b, /, c, d, *, e, f):" ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡ‚Π΅ "a" ΠΈ "b" ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ присвоСни само Π² Ρ€Π΅Π΄Π°, Π² ΠΊΠΎΠΉΡ‚ΠΎ са ΠΈΠ·Π±Ρ€ΠΎΠ΅Π½ΠΈ стойноститС ,
    ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ β€œe” ΠΈ β€œf”, само Ρ‡Ρ€Π΅Π· присвояванСто β€œvariable=value”, ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ β€œc” ΠΈ β€œd” ΠΏΠΎ някой ΠΎΡ‚ слСднитС Π½Π°Ρ‡ΠΈΠ½ΠΈ:

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

  • Π”ΠΎΠ±Π°Π²Π΅Π½ΠΎ Π½ΠΎΠ² C API
    Π·Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‚Π΅ Π·Π° инициализация Π½Π° Python, ΠΊΠΎΠ΅Ρ‚ΠΎ позволява пълСн ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π½Π°Π΄ всички конфигурация ΠΈ прСдоставянС Π½Π° ΡƒΡΡŠΠ²ΡŠΡ€ΡˆΠ΅Π½ΡΡ‚Π²Π°Π½ΠΈ срСдства Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ. ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡΡ‚ API улСснява Π²Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° функционалност Π½Π° ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° Π½Π° Python Π² Π΄Ρ€ΡƒΠ³ΠΈ C прилоТСния;

  • Π’Π½Π΅Π΄Ρ€Π΅Π½ΠΎ Π½ΠΎΠ² Vectorcall ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π·Π° ΠΏΠΎ-Π±ΡŠΡ€Π· Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ ΠΎΠ±Π΅ΠΊΡ‚ΠΈ, написани Π½Π° Π΅Π·ΠΈΠΊ C. Π’ CPython 3.8 Π΄ΠΎΡΡ‚ΡŠΠΏΡŠΡ‚ Π΄ΠΎ Vectorcall всС ΠΎΡ‰Π΅ Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ Π΄ΠΎ Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ½Π° ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π°; ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΡΠ½Π΅Ρ‚ΠΎ към катСгорията Π½Π° ΠΏΡƒΠ±Π»ΠΈΡ‡Π½ΠΎ Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΈΡ‚Π΅ API Π΅ ΠΏΠ»Π°Π½ΠΈΡ€Π°Π½ΠΎ Π² CPython 3.9;
  • Π”ΠΎΠ±Π°Π²Π΅Π½ΠΎ извиквания към Runtime Audit Hooks, ΠΊΠΎΠΈΡ‚ΠΎ прСдоставят Π½Π° прилоТСния ΠΈ Ρ€Π°ΠΌΠΊΠΈ Π² Python Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ информация Π½Π° ниско Π½ΠΈΠ²ΠΎ Π·Π° Π½Π°ΠΏΡ€Π΅Π΄ΡŠΠΊΠ° Π½Π° скрипта Π·Π° ΠΎΠ΄ΠΈΡ‚ Π½Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠ΅Π½ΠΈΡ‚Π΅ дСйствия (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° прослСдяватС ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, отварянС Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° трасиранС, Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ сокСти, изпълнСниС Π½Π° ΠΊΠΎΠ΄ Ρ‡Ρ€Π΅Π· exec, eval ΠΈ run_mod);
  • Π’ ΠΌΠΎΠ΄ΡƒΠ»Π° Ρ‚ΡƒΡ€ΡˆΠΈΡ прСдоставСни ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° Pickle 5, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π·Π° сСриализиранС ΠΈ дСсСриализиранС Π½Π° ΠΎΠ±Π΅ΠΊΡ‚ΠΈ. Pickle Π²ΠΈ позволява Π΄Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅ ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΡΠ½Π΅Ρ‚ΠΎ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ количСства Π΄Π°Π½Π½ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ процСситС Π½Π° Python Π² многоядрСни ΠΈ многовъзлови ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Ρ‡Ρ€Π΅Π· намаляванС Π½Π° броя Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅ Π·Π° ΠΊΠΎΠΏΠΈΡ€Π°Π½Π΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° ΠΈ ΠΏΡ€ΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ Π·Π° оптимизация, ΠΊΠ°Ρ‚ΠΎ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° спСцифични Π·Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈ Π·Π° компрСсия. ΠŸΠ΅Ρ‚Π°Ρ‚Π° вСрсия Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° сС ΠΎΡ‚Π»ΠΈΡ‡Π°Π²Π° с добавянСто Π½Π° Ρ€Π΅ΠΆΠΈΠΌ Π½Π° ΠΏΡ€Π΅Π΄Π°Π²Π°Π½Π΅ извън ΠΎΠ±Ρ…Π²Π°Ρ‚Π°, ΠΏΡ€ΠΈ ΠΊΠΎΠΉΡ‚ΠΎ Π΄Π°Π½Π½ΠΈΡ‚Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΠΏΡ€Π΅Π΄Π°Π²Π°Ρ‚ ΠΎΡ‚Π΄Π΅Π»Π½ΠΎ ΠΎΡ‚ основния ΠΏΠΎΡ‚ΠΎΠΊ Π½Π° Ρ‚ΡƒΡ€ΡˆΠΈΡ.
  • По ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π΅ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½Π° Ρ‡Π΅Ρ‚Π²ΡŠΡ€Ρ‚Π°Ρ‚Π° вСрсия Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° Pickle, която Π² сравнСниС с Ρ‚Ρ€Π΅Ρ‚Π°Ρ‚Π° вСрсия, ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π½Π° ΠΏΠΎ-Ρ€Π°Π½ΠΎ ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅, позволява ΠΏΠΎ-висока производитСлност ΠΈ намаляванС Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π½Π° ΠΏΡ€Π΅Π΄Π°Π²Π°Π½ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ;
  • Π’ ΠΌΠΎΠ΄ΡƒΠ»Π° ΠΏΠΈΡˆΠ΅Ρ‚Π΅ Π’ΡŠΠ²Π΅ΠΆΠ΄Π°Ρ‚ сС няколко Π½ΠΎΠ²ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:
    • Клас TypedDict Π·Π° асоциативни масиви, Π² ΠΊΠΎΠΈΡ‚ΠΎ информацията Π·Π° Ρ‚ΠΈΠΏΠ° Π΅ ΠΈΠ·Ρ€ΠΈΡ‡Π½ΠΎ посочСна Π·Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅, ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с ΠΊΠ»ΡŽΡ‡ΠΎΠ²Π΅Ρ‚Π΅ (β€œTypedDict('Point2D', x=int, y=int, label=str)”).
    • Π’ΠΈΠΏ Π±ΡƒΠΊΠ²Π°Π»Π΅Π½, ΠΊΠΎΠ΅Ρ‚ΠΎ Π²ΠΈ позволява Π΄Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€ ΠΈΠ»ΠΈ Π²ΡŠΡ€Π½Π°Ρ‚Π° стойност Π΄ΠΎ няколко ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Π½ΠΈ стойности (β€žLiteral['connected', 'disconnected']”).
    • Π”ΠΈΠ·Π°ΠΉΠ½ "ΠžΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»Π΅Π½", ΠΊΠΎΠ΅Ρ‚ΠΎ Π΄Π°Π²Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π΄Π° сС Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Ρ‚ стойноститС Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ ΠΈ класовС, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ промСняни ΠΈΠ»ΠΈ ΠΏΡ€Π΅Π½Π°Π·Π½Π°Ρ‡Π°Π²Π°Π½ΠΈ ("pi: Final[float] = 3.1415926536").
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° Π·Π°Π΄Π°Π²Π°Π½Π΅ Π½Π° кСш Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ с Π±Π°ΠΉΡ‚ ΠΊΠΎΠ΄, записани Π² ΠΎΡ‚Π΄Π΅Π»Π½ΠΎ FS Π΄ΡŠΡ€Π²ΠΎ ΠΈ ΠΎΡ‚Π΄Π΅Π»Π΅Π½ΠΈ ΠΎΡ‚ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈΡ‚Π΅ с ΠΊΠΎΠ΄Π°. ΠŸΡŠΡ‚ΡΡ‚ Π·Π° Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ с Π±Π°ΠΉΡ‚ ΠΊΠΎΠ΄ сС Π·Π°Π΄Π°Π²Π° Ρ‡Ρ€Π΅Π· ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° PYTHONPYCACHEPREFIX ΠΈΠ»ΠΈ опцията "-X pycache_prefix";
  • Π’Π½Π΅Π΄Ρ€Π΅Π½ΠΎ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° създаванС Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ†ΠΈΠΈ Π·Π° отстраняванС Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ Π½Π° Python, ΠΊΠΎΠΈΡ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ ABI, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π΅Π½ Π½Π° ΠΈΠ·Π΄Π°Π½ΠΈΠ΅Ρ‚ΠΎ, ΠΊΠΎΠ΅Ρ‚ΠΎ Π²ΠΈ позволява Π΄Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°Ρ‚Π΅ Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΡ, написани Π½Π° Π΅Π·ΠΈΠΊ SI, ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½ΠΈ Π·Π° стабилни вСрсии, Π² ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ†ΠΈΠΈ Π·Π° отстраняванС Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ;
  • f-Π½ΠΈΠ·ΠΎΠ²Π΅ (Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€Π°Π½ΠΈ Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΈ с прСфикс 'f') прСдоставят ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° = (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ "f'{expr=}'"), ΠΊΠΎΠΉΡ‚ΠΎ Π²ΠΈ позволява Π΄Π° ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€Π°Ρ‚Π΅ ΠΈΠ·Ρ€Π°Π· Π² тСкст Π·Π° ΠΏΠΎ-лСсно отстраняванС Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ. НапримСр:

    β€Ίβ€Ίβ€Ί ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π» = 'eric_idle'
    β€Ίβ€Ίβ€Ί member_since = Π΄Π°Ρ‚Π° (1975, 7, 31)
    β€Ίβ€Ίβ€Ί f'{user=} {member_since=}'
    "user='eric_idle' member_since=datetime.date(1975, 7, 31)"

  • Π˜Π·Ρ€Π°Π· "ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈΒ» Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π²ΡŠΡ‚Ρ€Π΅ Π² Π±Π»ΠΎΠΊ накрая;
  • Π”ΠΎΠ±Π°Π²Π΅Π½ Π½ΠΎΠ² ΠΌΠΎΠ΄ΡƒΠ» многопроцСсорна.сподСлСна_ΠΏΠ°ΠΌΠ΅Ρ‚, позволяващи ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° сподСлСни сСгмСнти ΠΎΡ‚ ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π² многопроцСсни ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ;
  • Π’ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π½Π° Windows ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° asyncio Π΅ прСмСстСно, Π·Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° класа ProactorEventLoop;
  • ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π½ΠΎΡΡ‚Ρ‚Π° Π½Π° инструкцията LOAD_GLOBAL Π΅ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½Π° с ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»Π½ΠΎ 40% ΠΏΠΎΡ€Π°Π΄ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π½ΠΎΠ² ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΡŠΠΌ Π·Π° ΠΊΠ΅ΡˆΠΈΡ€Π°Π½Π΅ Π½Π° ΠΎΠ±Π΅ΠΊΡ‚Π΅Π½ ΠΊΠΎΠ΄.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€