рдкрд╛рдпрдерди 3.8 рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖реЗрдЪреЗ рдкреНрд░рдХрд╛рд╢рди

рджреАрдб рд╡рд░реНрд╖рд╛рдЪреНрдпрд╛ рд╡рд┐рдХрд╛рд╕рд╛рдирдВрддрд░ рд╕рд╛рджрд░ рдкреНрд░рдореБрдЦ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдкреНрд░рдХрд╛рд╢рди python рд▓рд╛ 3.8. Python 3.8 рд╢рд╛рдЦреЗрд╕рд╛рдареА рд╕реБрдзрд╛рд░рд╛рддреНрдордХ рдЕрджреНрдпрддрдиреЗ рдирд┐рдпреЛрдЬрд┐рдд рдЖрд╣реЗ 18 рдорд╣рд┐рдиреНрдпрд╛рдВрдд рд░рд┐рд▓реАрдЭ рдХрд░рд╛. рдСрдХреНрдЯреЛрдмрд░ 5 рдкрд░реНрдпрдВрдд 2024 рд╡рд░реНрд╖рд╛рдВрд╕рд╛рдареА рдЧрдВрднреАрд░ рдЕрд╕реБрд░рдХреНрд╖рд╛ рдирд┐рд╢реНрдЪрд┐рдд рдХреЗрд▓реНрдпрд╛ рдЬрд╛рддреАрд▓. 3.8 рд╢рд╛рдЦреЗрд╕рд╛рдареА рд╕реБрдзрд╛рд░рд╛рддреНрдордХ рдЕрджреНрдпрддрдиреЗ рджрд░ рджреЛрди рдорд╣рд┐рдиреНрдпрд╛рдВрдиреА рдкреНрд░рд╕рд┐рджреНрдз рдХреЗрд▓реА рдЬрд╛рддреАрд▓, рдкрд╛рдпрдерди 3.8.1 рдЪреЗ рдкрд╣рд┐рд▓реЗ рд╕реБрдзрд╛рд░рд╛рддреНрдордХ рдкреНрд░рдХрд╛рд╢рди рдбрд┐рд╕реЗрдВрдмрд░рдордзреНрдпреЗ рд╢реЗрдбреНрдпреВрд▓ рдХреЗрд▓реЗ рдЬрд╛рдИрд▓.

рдЬреЛрдбрд▓реЗрд▓реНрдпрд╛рдВрдордзреНрдпреЗ рдирд╡рдХрд▓реНрдкрдирд╛:

  • рдЖрдзрд╛рд░ рдЬрдЯрд┐рд▓ рдЕрднрд┐рд╡реНрдпрдХреНрддреАрдВрдордзреНрдпреЗ рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдСрдкрд░реЗрд╢рдиреНрд╕. рдирд╡реАрди тАЬ:=тАЭ рдСрдкрд░реЗрдЯрд░рд╕рд╣, рдЗрддрд░ рдЕрднрд┐рд╡реНрдпрдХреНрддреАрдВрдордзреНрдпреЗ рдореВрд▓реНрдп рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдСрдкрд░реЗрд╢рдиреНрд╕ рдХрд░рдгреЗ рд╢рдХреНрдп рдЖрд╣реЗ, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдХрдВрдбрд┐рд╢рдирд▓ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯрдордзреНрдпреЗ рджреБрд╣реЗрд░реА рдлрдВрдХреНрд╢рди рдХреЙрд▓ рдЯрд╛рд│рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рд▓реВрдк рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛рдирд╛:

    рдЬрд░ (n := len(a)) > 10:
    ...

    рдЕрд╕рддрд╛рдирд╛ (block := f.read(256)) != ":
    ...

  • рдЖрдзрд╛рд░ рдлрдВрдХреНрд╢рди рдЖрд░реНрдЧреНрдпреБрдореЗрдВрдЯреНрд╕ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдирд╡реАрди рд╡рд╛рдХреНрдпрд░рдЪрдирд╛. рдлрдВрдХреНрд╢рди рдбреЗрдлрд┐рдирд┐рд╢рди рджрд░рдореНрдпрд╛рди рд╡рд┐рддрд░реНрдХрд╛рдВрдЪреА рдЧрдгрдирд╛ рдХрд░рддрд╛рдирд╛, рддреБрдореНрд╣реА рдЖрддрд╛ рд╡реЗрдЧрд│реЗ рд╡рд┐рддрд░реНрдХ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА "/" рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реВ рд╢рдХрддрд╛ рдЬреНрдпрд╛рд▓рд╛ рдлрдВрдХреНрд╢рди рдХреЙрд▓ рджрд░рдореНрдпрд╛рди рдореВрд▓реНрдпреЗ рдЬреНрдпрд╛ рдХреНрд░рдорд╛рдиреЗ рдЧрдгрд▓реА рдЬрд╛рддрд╛рдд рддреНрдпрд╛ рдХреНрд░рдорд╛рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдореВрд▓реНрдпреЗ рдирд┐рдпреБрдХреНрдд рдХреЗрд▓реА рдЬрд╛рдК рд╢рдХрддрд╛рдд, рдирд┐рдпреБрдХреНрдд рдХреЗрд▓реНрдпрд╛ рдЬрд╛рдК рд╢рдХрддреАрд▓ рдЕрд╢рд╛ рд╡рд┐рддрд░реНрдХрд╛рдВрдордзреВрди рдХреЛрдгрддреНрдпрд╛рд╣реА рдХреНрд░рдорд╛рдиреЗ (variable=value syntax)). рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдмрд╛рдЬреВрдиреЗ, рдирд╡реАрди рд╡реИрд╢рд┐рд╖реНрдЯреНрдп 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
    рдкрд╛рдпрдерди рдЗрдирд┐рд╢рд┐рдПрд▓рд╛рдпрдЭреЗрд╢рди рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рд╕рд░реНрд╡рд╛рдВрд╡рд░ рдкреВрд░реНрдг рдирд┐рдпрдВрддреНрд░рдг рдареЗрд╡рдгреНрдпрд╛рд╕ рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдЖрдгрд┐ рдкреНрд░рдЧрдд рддреНрд░реБрдЯреА рд╣рд╛рддрд╛рд│рдгреА рд╕реБрд╡рд┐рдзрд╛ рдкреНрд░рджрд╛рди рдХрд░рдгреЗ. рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд API рдЗрддрд░ C рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдВрдордзреНрдпреЗ рдкрд╛рдпрдерди рдЗрдВрдЯрд░рдкреНрд░рд┐рдЯрд░ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдПрдореНрдмреЗрдб рдХрд░рдгреЗ рд╕реЛрдкреЗ рдХрд░рддреЗ;

  • рд░рд╛рдмрд╡рд┐рдгреНрдпрд╛рдд рдЖрд▓реЗ рд╕реА рднрд╛рд╖реЗрдд рд▓рд┐рд╣рд┐рд▓реЗрд▓реНрдпрд╛ рд╡рд╕реНрддреВрдВрд╡рд░ рдЬрд▓рдж рдкреНрд░рд╡реЗрд╢рд╛рд╕рд╛рдареА рдирд╡реАрди рд╡реЗрдХреНрдЯрд░рдХреЙрд▓ рдкреНрд░реЛрдЯреЛрдХреЙрд▓. CPython 3.8 рдордзреНрдпреЗ, Vectorcall рдордзреАрд▓ рдкреНрд░рд╡реЗрд╢ рдЕрдЬреВрдирд╣реА рдЕрдВрддрд░реНрдЧрдд рд╡рд╛рдкрд░рд╛рдкреБрд░рддрд╛ рдорд░реНрдпрд╛рджрд┐рдд рдЖрд╣реЗ; CPython 3.9 рдордзреНрдпреЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХрд░рд┐рддреНрдпрд╛ рдкреНрд░рд╡реЗрд╢ рдХрд░рдгреНрдпрд╛рдпреЛрдЧреНрдп API рдЪреНрдпрд╛ рд╢реНрд░реЗрдгреАрдордзреНрдпреЗ рд╣рд╕реНрддрд╛рдВрддрд░рдг рдХрд░рдгреНрдпрд╛рдЪреА рдпреЛрдЬрдирд╛ рдЖрд╣реЗ;
  • рдЬреЛрдбрд▓реЗ рд░рдирдЯрд╛рдЗрдо рдСрдбрд┐рдЯ рд╣реБрдХреНрд╕рд▓рд╛ рдХреЙрд▓ рдХрд░рд╛, рдЬреЗ Python рдордзреНрдпреЗ рдЕреЕрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕ рдЖрдгрд┐ рдлреНрд░реЗрдорд╡рд░реНрдХ рдкреНрд░рджрд╛рди рдХрд░рддрд╛рдд рдЖрдгрд┐ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдХреНрд░рд┐рдпрд╛рдВрдЪреЗ рдСрдбрд┐рдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕реНрдХреНрд░рд┐рдкреНрдЯрдЪреНрдпрд╛ рдкреНрд░рдЧрддреАрдмрджреНрджрд▓ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдорд╛рд╣рд┐рддреАрдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдХрд░рддрд╛рдд (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рддреБрдореНрд╣реА рдореЙрдбреНрдпреВрд▓реНрд╕рдЪреА рдЖрдпрд╛рдд, рдлрд╛рдЗрд▓реНрд╕ рдЙрдШрдбрдгреЗ, рдЯреНрд░реЗрд╕ рд╡рд╛рдкрд░реВрди рдЯреНрд░реЕрдХ рдХрд░реВ рд╢рдХрддрд╛, рдиреЗрдЯрд╡рд░реНрдХ рд╕реЙрдХреЗрдЯреНрд╕рдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдХрд░рдгреЗ, exec, eval рдЖрдгрд┐ run_mod рджреНрд╡рд╛рд░реЗ рдХреЛрдб рдЪрд╛рд▓реВ рдХрд░рдгреЗ;
  • рдореЙрдбреНрдпреВрд▓рдордзреНрдпреЗ рд▓реЛрдгрдЪреЗ рд╕реБрд░рдХреНрд╖рд┐рдд Pickle 5 рдкреНрд░реЛрдЯреЛрдХреЙрд▓рд╕рд╛рдареА рд╕рдорд░реНрдерди, рдЬреНрдпрд╛рдЪрд╛ рд╡рд╛рдкрд░ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рд╕реАрд░рд┐рдЕрд▓рд╛рдпрдЭрд┐рдВрдЧ рдЖрдгрд┐ рдбреАрд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХреЗрд▓рд╛ рдЬрд╛рддреЛ. рдкрд┐рдХрд▓ рддреБрдореНрд╣рд╛рд▓рд╛ рдореЗрдорд░реА рдХреЙрдкреА рдСрдкрд░реЗрд╢рдиреНрд╕рдЪреА рд╕рдВрдЦреНрдпрд╛ рдХрдореА рдХрд░реВрди рдЖрдгрд┐ рдбреЗрдЯрд╛-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреЙрдореНрдкреНрд░реЗрд╢рди рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рд░рдЦреНрдпрд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рдСрдкреНрдЯрд┐рдорд╛рдпрдЭреЗрд╢рди рддрдВрддреНрд░рд╛рдВрдЪрд╛ рд╡рд╛рдкрд░ рдХрд░реВрди рдорд▓реНрдЯреА-рдХреЛрд░ рдЖрдгрд┐ рдорд▓реНрдЯреА-рдиреЛрдб рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рдирдордзреНрдпреЗ рдкрд╛рдпрдерди рдкреНрд░рдХреНрд░рд┐рдпреЗрджрд░рдореНрдпрд╛рди рдореЛрдареНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рдд рдбреЗрдЯрд╛рдЪреЗ рд╣рд╕реНрддрд╛рдВрддрд░рдг рдСрдкреНрдЯрд┐рдорд╛рдЗрдЭ рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ. рдкреНрд░реЛрдЯреЛрдХреЙрд▓рдЪреА рдкрд╛рдЪрд╡реА рдЖрд╡реГрддреНрддреА рдЖрдЙрдЯ-рдСрдл-рдмрдБрдб рдЯреНрд░рд╛рдиреНрд╕рдорд┐рд╢рди рдореЛрдбрдЪреНрдпрд╛ рдЬреЛрдбрдгреАрд╕рд╛рдареА рд▓рдХреНрд╖рдгреАрдп рдЖрд╣реЗ, рдЬреНрдпрд╛рдордзреНрдпреЗ рдореБрдЦреНрдп рд▓реЛрдгрдЪреНрдпрд╛ рдкреНрд░рд╡рд╛рд╣рд╛рдкрд╛рд╕реВрди рдбреЗрдЯрд╛ рд╕реНрд╡рддрдВрддреНрд░рдкрдгреЗ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХреЗрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ.
  • рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░, рдкрд┐рдХрд▓ рдкреНрд░реЛрдЯреЛрдХреЙрд▓рдЪреА рдЪреМрдереА рдЖрд╡реГрддреНрддреА рд╕рдХреНрд░рд┐рдп рдХреЗрд▓реА рдЬрд╛рддреЗ, рдЬреА рдкреВрд░реНрд╡реА рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░ рдСрдлрд░ рдХреЗрд▓реЗрд▓реНрдпрд╛ рддрд┐рд╕рд▒реНрдпрд╛ рдЖрд╡реГрддреНрддреАрдЪреНрдпрд╛ рддреБрд▓рдиреЗрдд, рдЙрдЪреНрдЪ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЖрдгрд┐ рдкреНрд░рд╕рд╛рд░рд┐рдд рдбреЗрдЯрд╛рдЪреНрдпрд╛ рдЖрдХрд╛рд░рд╛рдд рдШрдЯ рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ;
  • рдореЙрдбреНрдпреВрд▓рдордзреНрдпреЗ рдЯрд╛рдпрдкрд┐рдВрдЧ рдЕрдиреЗрдХ рдирд╡реАрди рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ рд╕рд╛рджрд░ рдХреЗрд▓реА рдЖрд╣реЗрдд:
    • рдХреНрд▓реЛрд╕реНрд╕ TypedDict рдЕрд╕реЛрд╕рд┐рдПрдЯрд┐рд╡реНрд╣ рдЕреЕрд░реЗрд╕рд╛рдареА рдЬреНрдпрд╛рдордзреНрдпреЗ рдХреА (тАЬTypedDict('Point2D', x=int, y=int, label=str)тАЭ) рд╕рдВрдмрдВрдзрд┐рдд рдбреЗрдЯрд╛рд╕рд╛рдареА рдкреНрд░рдХрд╛рд░ рдорд╛рд╣рд┐рддреА рд╕реНрдкрд╖реНрдЯрдкрдгреЗ рдирдореВрдж рдХреЗрд▓реА рдЖрд╣реЗ.
    • рдкреНрд░рдХрд╛рд░ рд╢рд╛рдмреНрджрд┐рдХ, рдЬреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдХрд╛рд╣реА рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдореВрд▓реНрдпрд╛рдВрдкрд░реНрдпрдВрдд рдкреЕрд░рд╛рдореАрдЯрд░ рдХрд┐рдВрд╡рд╛ рд░рд┐рдЯрд░реНрди рд╡реНрд╣реЕрд▓реНрдпреВ рдорд░реНрдпрд╛рджрд┐рдд рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ (тАЬрд╢рд╛рдмреНрджрд┐рдХ['рдХрдиреЗрдХреНрдЯ рдХреЗрд▓реЗрд▓реЗ', 'рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХреЗрд▓реЗрд▓реЗ']тАЭ).
    • рдбрд┐рдЭрд╛рдЗрди "рдЕрдВрддрд┐рдо", рдЬреНрдпрд╛рдореБрд│реЗ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕, рдлрдВрдХреНрд╢рдиреНрд╕, рдкрджреНрдзрддреА рдЖрдгрд┐ рд╡рд░реНрдЧрд╛рдВрдЪреА рдореВрд▓реНрдпреЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдгреЗ рд╢рдХреНрдп рд╣реЛрддреЗ рдЬреЗ рдмрджрд▓рд▓реЗ рдХрд┐рдВрд╡рд╛ рдкреБрдиреНрд╣рд╛ рдирд┐рдпреБрдХреНрдд рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрдд рдирд╛рд╣реАрдд ("pi: Final[float] = 3.1415926536").
  • рдмрд╛рдЗрдЯрдХреЛрдбрд╕рд╣ рд╕рдВрдХрд▓рд┐рдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рдлрд╛рдпрд▓реАрдВрд╕рд╛рдареА рдХреЕрд╢реЗ рдирд┐рдпреБрдХреНрдд рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд▓реА, рд╡реЗрдЧрд│реНрдпрд╛ FS рдЯреНрд░реАрдордзреНрдпреЗ рдЬрддрди рдХреЗрд▓реА рдЖрдгрд┐ рдХреЛрдбрд╕рд╣ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдВрдкрд╛рд╕реВрди рд╡рд┐рднрдХреНрдд рдХреЗрд▓реА. рдмрд╛рдЗрдЯрдХреЛрдбрд╕рд╣ рдлрд╛рдЗрд▓реНрд╕ рд╕реЗрд╡реНрд╣ рдХрд░рдгреНрдпрд╛рдЪрд╛ рдорд╛рд░реНрдЧ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓рджреНрд╡рд╛рд░реЗ рд╕реЗрдЯ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ рдкрд╛рдпрдереЙрдирдкрд╛рдпрдХреЗрдЪреЗрдкреНрд░реЗрдлрд┐рдХреНрд╕ рдХрд┐рдВрд╡рд╛ "-X pycache_prefix" рдкрд░реНрдпрд╛рдп;
  • рд░рд╛рдмрд╡рд┐рдгреНрдпрд╛рдд рдЖрд▓реЗ Python рдЪреЗ рдбреАрдмрдЧ рдмрд┐рд▓реНрдб рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рдЬреЗ рд░рд┐рд▓реАрдЬ рдкреНрд░рдорд╛рдгреЗ ABI рд╡рд╛рдкрд░рддрд╛рдд, рдЬреЗ рддреБрдореНрд╣рд╛рд▓рд╛ SI рднрд╛рд╖реЗрдд рд▓рд┐рд╣рд┐рд▓реЗрд▓реЗ рд╡рд┐рд╕реНрддрд╛рд░ рд▓реЛрдб рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ, рд╕реНрдерд┐рд░ рд░рд┐рд▓реАрдЭрд╕рд╛рдареА рд╕рдВрдХрд▓рд┐рдд, рдбреАрдмрдЧ рдмрд┐рд▓реНрдбрдордзреНрдпреЗ;
  • f-рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ ('f' рд╕рд╣ рдкреНрд░реАрдлрд┐рдХреНрд╕ рдХреЗрд▓реЗрд▓реЗ рд╕реНрд╡рд░реВрдкрд┐рдд рдЕрдХреНрд╖рд░реЗ) = рдСрдкрд░реЗрдЯрд░рд╕рд╛рдареА рд╕рдорд░реНрдерди рдкреНрд░рджрд╛рди рдХрд░рддрд╛рдд (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, "f'{expr=}"), рдЬреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рд╕реБрд▓рдн рдбреАрдмрдЧрд┐рдВрдЧрд╕рд╛рдареА рдордЬрдХреВрд░рд╛рдд рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде:

    тА║тА║тА║ рд╡рд╛рдкрд░рдХрд░реНрддрд╛ = 'eric_idle'
    тА║тА║тА║ рд╕рджрд╕реНрдп_рдкрд╛рд╕реВрди = рддрд╛рд░реАрдЦ(резрепренрел, рен, рейрез)
    тА║тА║тА║ f'{user=} {member_since=}'
    "user='eric_idle' member_since=datetime.date(1975, 7, 31)"

  • рдЕрднрд┐рд╡реНрдпрдХреНрддреА "рд╕реБрд░реВ┬╗ рдмреНрд▓реЙрдХрдордзреНрдпреЗ рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рд╢реЗрд╡рдЯреА;
  • рдирд╡реАрди рдореЙрдбреНрдпреВрд▓ рдЬреЛрдбрд▓реЗ multiprocessing.shared_memory, рдорд▓реНрдЯреАрдкреНрд░реЛрд╕реЗрд╕ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рдирдордзреНрдпреЗ рд╕рд╛рдорд╛рдпрд┐рдХ рдореЗрдорд░реА рд╡рд┐рднрд╛рдЧрд╛рдВрдЪрд╛ рд╡рд╛рдкрд░ рдХрд░рдгреНрдпрд╛рд╕ рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ;
  • Windows рдкреНрд▓реЕрдЯрдлреЙрд░реНрдорд╡рд░, asyncio рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рд╡рд░реНрдЧ рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╣рд▓рд╡рд▓реА рдЧреЗрд▓реА рдЖрд╣реЗ ProactorEventLoop;
  • рдирд╡реАрди рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛрдб рдХреЕрд╢рд┐рдВрдЧ рдпрдВрддреНрд░рдгрд╛ рд╡рд╛рдкрд░рд▓реНрдпрд╛рдореБрд│реЗ LOAD_GLOBAL рд╕реВрдЪрдирд╛рдВрдЪреЗ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рдЕрдВрджрд╛рдЬреЗ 40% рдиреЗ рд╡рд╛рдврд▓реЗ рдЖрд╣реЗ.

рд╕реНрддреНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛