Python 3.8 рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛рдХреЛ рд░рд┐рд▓реАрдЬ

рдбреЗрдв рд╡рд░реНрд╖рдХреЛ рд╡рд┐рдХрд╛рд╕рдкрдЫрд┐ рдкреНрд░рд╕реНрддреБрдд рдкреНрд░рдореБрдЦ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛ рд░рд┐рд▓реАрдЬ рдЕрдЬрдЧрд░ 3.8ред рдкрд╛рдЗрдерди рей.рео рд╢рд╛рдЦрд╛рдХрд╛ рд▓рд╛рдЧрд┐ рд╕реБрдзрд╛рд░рд╛рддреНрдордХ рдЕрдкрдбреЗрдЯрд╣рд░реВ рдпреЛрдЬрдирд╛ рдЧрд░рд┐рдПрдХреЛ 18 рдорд╣рд┐рдирд╛ рднрд┐рддреНрд░ рд░рд┐рд▓реАрдЬред рдЕрдХреНрдЯреЛрдмрд░ 5 рд╕рдореНрдо 2024 рд╡рд░реНрд╖рдХреЛ рд▓рд╛рдЧрд┐ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрдордЬреЛрд░реАрд╣рд░реВ рддрдп рдЧрд░рд┐рдиреЗрдЫред 3.8 рд╢рд╛рдЦрд╛рдХреЛ рд▓рд╛рдЧрд┐ рд╕реБрдзрд╛рд░рд╛рддреНрдордХ рдЕрдкрдбреЗрдЯрд╣рд░реВ рдкреНрд░рддреНрдпреЗрдХ рджреБрдИ рдорд╣рд┐рдирд╛рдорд╛ рдЬрд╛рд░реА рдЧрд░рд┐рдиреЗрдЫ, рдкрд╛рдЗрдерди 3.8.1 рдХреЛ рдкрд╣рд┐рд▓реЛ рд╕реБрдзрд╛рд░рд╛рддреНрдордХ рд░рд┐рд▓реАрдЬ рдбрд┐рд╕реЗрдореНрдмрд░рдорд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдЧрд░рд┐рдПрдХреЛ рдЫред

рдердкрд┐рдПрдХрд╛ рдордзреНрдпреЗ рдирд╡рд╛рдЪрд╛рд░рд╣рд░реВ:

  • рд╕рдорд░реНрдерди рдЬрдЯрд┐рд▓ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рднрд┐рддреНрд░ рдЕрд╕рд╛рдЗрдирдореЗрдиреНрдЯ рдХрд╛рд░реНрдпрд╣рд░реВред рдирдпрд╛рдБ ":=" рдЕрдкрд░реЗрдЯрд░рдХреЛ рд╕рд╛рде, рдЕрдиреНрдп рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рд╣рд░реВ рднрд┐рддреНрд░ рдорд╛рди рдЕрд╕рд╛рдЗрдирдореЗрдиреНрдЯ рдХрд╛рд░реНрдпрд╣рд░реВ рдЧрд░реНрди рд╕рдореНрднрд╡ рдЫ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рд╕рд╢рд░реНрдд рдХрдердирд╣рд░реВрдорд╛ рдбрдмрд▓ рдкреНрд░рдХрд╛рд░реНрдп рдХрд▓рд╣рд░реВрдмрд╛рдЯ рдмрдЪреНрди рд░ рд▓реВрдкрд╣рд░реВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░реНрджрд╛:

    рдпрджрд┐ (n := len(a)) > 10:
    ...

    рдЬрдмрдХрд┐ (рдмреНрд▓рдХ := f.read(256)) != ":
    ...

  • рд╕рдорд░реНрдерди рдкреНрд░рдХрд╛рд░реНрдп рддрд░реНрдХрд╣рд░реВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рдирдпрд╛рдБ рд╡рд╛рдХреНрдп рд░рдЪрдирд╛ред рдлрдВрдХреНрд╢рди рдкрд░рд┐рднрд╛рд╖рд╛рдХреЛ рдХреНрд░рдордорд╛ рддрд░реНрдХрд╣рд░реВ рдЧрдгрдирд╛ рдЧрд░реНрджрд╛, рддрдкрд╛рдИрдВрд▓реЗ рдЕрдм "/" рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рддрд░реНрдХрд╣рд░реВ рдЕрд▓рдЧ рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рдЬреБрди рдХреНрд░рдордХреЛ рдЖрдзрд╛рд░рдорд╛ рдорд╛рдирд╣рд░реВ рддреЛрдХреНрди рд╕рдХрд┐рдиреНрдЫ рдЬреБрди рдкреНрд░рдХрд╛рд░реНрдп рдХрд▓рдХреЛ рдмрдЦрдд рдорд╛рдирд╣рд░реВ рдЧрдгрдирд╛ рдЧрд░рд┐рдиреНрдЫ, рддреЛрдХрд┐рдПрдХреЛ рддрд░реНрдХрд╣рд░реВрдмрд╛рдЯред рдХреБрдиреИ рдкрдирд┐ рдХреНрд░рдордорд╛ (рдЪрд░ = рдорд╛рди рд╡рд╛рдХреНрдп рд░рдЪрдирд╛)ред рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдкрдХреНрд╖рдорд╛, рдирдпрд╛рдБ рд╕реБрд╡рд┐рдзрд╛рд▓реЗ рдкрд╛рдЗрдердирдХрд╛ рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВрд▓рд╛рдИ 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 рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрдорд╛ рдкрд╛рдЗрдерди рджреЛрднрд╛рд╖реЗ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЗрдореНрдмреЗрдб рдЧрд░реНрди рд╕рдЬрд┐рд▓реЛ рдмрдирд╛рдЙрдБрдЫ;

  • рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рднрдПрдХреЛ рдЫ C рднрд╛рд╖рд╛рдорд╛ рд▓реЗрдЦрд┐рдПрдХрд╛ рд╡рд╕реНрддреБрд╣рд░реВрдорд╛ рдЫрд┐рдЯреЛ рдкрд╣реБрдБрдЪрдХреЛ рд▓рд╛рдЧрд┐ рдирдпрд╛рдБ рднреЗрдХреНрдЯрд░рдХрд▓ рдкреНрд░реЛрдЯреЛрдХрд▓ред CPython 3.8 рдорд╛, Vectorcall рдХреЛ рдкрд╣реБрдБрдЪ рдЕрдЭреИ рдкрдирд┐ рдЖрдиреНрддрд░рд┐рдХ рдкреНрд░рдпреЛрдЧрдорд╛ рд╕реАрдорд┐рдд рдЫ; CPython 3.9 рдорд╛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд░реВрдкрдорд╛ рдкрд╣реБрдБрдЪрдпреЛрдЧреНрдп API рдХреЛ рд╢реНрд░реЗрдгреАрдорд╛ рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг рдЧрд░реНрдиреЗ рдпреЛрдЬрдирд╛ рдЫ;
  • рдердкрд┐рдпреЛ рд░рдирдЯрд╛рдЗрдо рдЕрдбрд┐рдЯ рд╣реБрдХрд╣рд░реВрдорд╛ рдХрд▓ рдЧрд░реНрджрдЫ, рдЬрд╕рд▓реЗ рдкрд╛рдЗрдердирдорд╛ рдПрдкреНрд▓рд┐рдХреЗрд╕рди рд░ рдврд╛рдБрдЪрд╛рд╣рд░реВ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫ рдЬрд╕рдорд╛ рд▓рд┐рдкрд┐рдХреЛ рдкреНрд░рдЧрддрд┐рдХреЛ рдмрд╛рд░реЗрдорд╛ рдирд┐рдореНрди-рд╕реНрддрд░рдХреЛ рдЬрд╛рдирдХрд╛рд░реАрдорд╛ рдкрд╣реБрдБрдЪ рдЧрд░рд┐рдиреНрдЫ (рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рддрдкрд╛рдЗрдБ рдореЛрдбреНрдпреБрд▓рд╣рд░реВрдХреЛ рдЖрдпрд╛рдд рдЯреНрд░реНрдпрд╛рдХ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рдлрд╛рдЗрд▓рд╣рд░реВ рдЦреЛрд▓реНрдиреЗ, рдЯреНрд░реЗрд╕ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░, рдиреЗрдЯрд╡рд░реНрдХ рд╕рдХреЗрдЯрд╣рд░реВ рдкрд╣реБрдБрдЪ рдЧрд░реНрджреИ, exec, eval рд░ run_mod рдорд╛рд░реНрдлрдд рдЪрд▓рд┐рд░рд╣реЗрдХреЛ рдХреЛрдб);
  • рдореЛрдбреНрдпреБрд▓ рдорд╛ рдЕрдЪрд╛рд░ рд╕реБрд░рдХреНрд╖рд┐рдд Pickle 5 рдкреНрд░реЛрдЯреЛрдХрд▓рдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди, рд╡рд╕реНрддреБрд╣рд░реВ рдХреНрд░рдордмрджреНрдз рд░ deserializing рдХреЛ рд▓рд╛рдЧреА рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред Pickle рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдореЗрдореЛрд░реА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдХрд╛рд░реНрдпрд╣рд░реВрдХреЛ рд╕рдВрдЦреНрдпрд╛ рдШрдЯрд╛рдПрд░ рд░ рдбреЗрдЯрд╛-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрдореНрдкреНрд░реЗрд╕рди рдПрд▓реНрдЧреЛрд░рд┐рджрдорд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдЬрд╕реНрддрд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рдЕрдкреНрдЯрд┐рдорд╛рдЗрдЬреЗрд╕рди рдкреНрд░рд╡рд┐рдзрд┐рд╣рд░реВ рд▓рд╛рдЧреВ рдЧрд░реЗрд░ рдмрд╣реБ-рдХреЛрд░ рд░ рдмрд╣реБ-рдиреЛрдб рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирд╣рд░реВрдорд╛ рдкрд╛рдЗрдерди рдкреНрд░рдХреНрд░рд┐рдпрд╛рд╣рд░реВ рдмреАрдЪ рдареВрд▓реЛ рдорд╛рддреНрд░рд╛рдорд╛ рдбреЗрдЯрд╛рдХреЛ рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдгрд▓рд╛рдИ рдЕрдиреБрдХреВрд▓рди рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рдкреНрд░реЛрдЯреЛрдХрд▓рдХреЛ рдкрд╛рдБрдЪреМрдВ рд╕рдВрд╕реНрдХрд░рдг рдПрдХ рдЖрдЙрдЯ-рдЕрдл-рдмреНрдпрд╛рдиреНрдб рдкреНрд░рд╕рд╛рд░рдг рдореЛрдбрдХреЛ рдердкрдХреЛ рд▓рд╛рдЧрд┐ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рдЫ, рдЬрд╕рдорд╛ рдбреЗрдЯрд╛ рдореБрдЦреНрдп рдЕрдЪрд╛рд░ рд╕реНрдЯреНрд░рд┐рдордмрд╛рдЯ рдЕрд▓рдЧ рд░реВрдкрдорд╛ рдкреНрд░рд╕рд╛рд░рдг рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред
  • рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░реВрдкрдорд╛, Pickle рдкреНрд░реЛрдЯреЛрдХрд▓рдХреЛ рдЪреМрдереЛ рд╕рдВрд╕реНрдХрд░рдг рд╕рдХреНрд░рд┐рдп рд╣реБрдиреНрдЫ, рдЬреБрди рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░реВрдкрдорд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдЧрд░рд┐рдПрдХреЛ рддреЗрд╕реНрд░реЛ рд╕рдВрд╕реНрдХрд░рдгрдХреЛ рддреБрд▓рдирд╛рдорд╛, рдЙрдЪреНрдЪ рдХрд╛рд░реНрдпрд╕рдореНрдкрд╛рджрди рд░ рдкреНрд░рд╕рд╛рд░рд┐рдд рдбрд╛рдЯрд╛рдХреЛ рдЖрдХрд╛рд░рдорд╛ рдХрдореАрдХреЛ рд▓рд╛рдЧрд┐ рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ;
  • рдореЛрдбреНрдпреБрд▓ рдорд╛ рдЯрд╛рдЗрдк рдЧрд░реНрджреИ рдзреЗрд░реИ рдирдпрд╛рдБ рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВ рдкреНрд░рд╕реНрддреБрдд рдЧрд░рд┐рдПрдХреЛ рдЫ:
    • ╨Ъ╨╗╨░╤Б╤Б TypedDict рдПрд╕реЛрд╕рд┐рдПрдЯрд┐рдн рдПрд░реЗрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдЬрд╕рдорд╛ рдХреБрдЮреНрдЬреАрд╣рд░реВрд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рдбрд╛рдЯрд╛рдХрд╛ рд▓рд╛рдЧрд┐ рдкреНрд░рдХрд╛рд░рдХреЛ рдЬрд╛рдирдХрд╛рд░реА рд╕реНрдкрд╖реНрдЯ рд░реВрдкрдорд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░рд┐рдПрдХреЛ рдЫ (тАЬTypedDict('Point2D', x=int, y=int, label=str)тАЭ)ред
    • рдЯрд╛рдЗрдк рдЧрд░реНрдиреБрд╣реЛрд╕реН рд╢рд╛рдмреНрджрд┐рдХ, рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░ рд╕реАрдорд┐рдд рдЧрд░реНрди рд╡рд╛ рдХреЗрд╣реА рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдорд╛рдирд╣рд░реВрдорд╛ рдорд╛рди рдлрд░реНрдХрд╛рдЙрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ (тАЬрд╢рд╛рдмреНрджрд┐рдХ['рдЬреЛрдбрд┐рдПрдХреЛ', 'рд╡рд┐рдЪреНрдЫреЗрджрд┐рдд']тАЭ)ред
    • рдбрд┐рдЬрд╛рдЗрди"рдЕрдиреНрддрд┐рдо", рдЬрд╕рд▓реЗ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрди рд╡рд╛ рдкреБрди: рдЕрд╕рд╛рдЗрди рдЧрд░реНрди рдирд╕рдХрд┐рдиреЗ рдЪрд░рд╣рд░реВ, рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВ, рд╡рд┐рдзрд┐рд╣рд░реВ рд░ рд╡рд░реНрдЧрд╣рд░реВрдХреЛ рдорд╛рдирд╣рд░реВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░реНрди рд╕рдореНрднрд╡ рдмрдирд╛рдЙрдБрджрдЫ ("pi: Final[float] = 3.1415926536")ред
  • рдмрд╛рдЗрдЯрдХреЛрдбрдХреЛ рд╕рд╛рде рдХрдореНрдкрд╛рдЗрд▓ рдЧрд░рд┐рдПрдХрд╛ рдлрд╛рдЗрд▓рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдХреНрдпрд╛рд╕ рддреЛрдХреНрдиреЗ рдХреНрд╖рдорддрд╛ рдердкрд┐рдпреЛ, рдЫреБрдЯреНрдЯреИ FS рд░реВрдЦрдорд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рдЧрд░рд┐рдпреЛ рд░ рдХреЛрдбрд╕рдБрдЧ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реАрд╣рд░реВрдмрд╛рдЯ рдЕрд▓рдЧ рдЧрд░рд┐рдпреЛред рдмрд╛рдЗрдЯрдХреЛрдбрдХреЛ рд╕рд╛рде рдлрд╛рдЗрд▓рд╣рд░реВ рдмрдЪрдд рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдорд╛рд░реНрдЧ рдЪрд▓ рдорд╛рд░реНрдлрдд рд╕реЗрдЯ рдЧрд░рд┐рдПрдХреЛ рдЫ PYTHONPYCACHEPREFIX рд╡рд╛ рд╡рд┐рдХрд▓реНрдк "-X pycache_prefix";
  • рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рднрдПрдХреЛ рдЫ рдкрд╛рдЗрдердирдХреЛ рдбрд┐рдмрдЧ рдмрд┐рд▓реНрдбрд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ рдЬрд╕рд▓реЗ рд░рд┐рд▓реАрдЬрд╕рдБрдЧ рдорд┐рд▓реНрджреЛрдЬреБрд▓реНрджреЛ ABI рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫ, рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ SI рднрд╛рд╖рд╛рдорд╛ рд▓реЗрдЦрд┐рдПрдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░рд╣рд░реВ рд▓реЛрдб рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ, рд╕реНрдерд┐рд░ рд░рд┐рд▓реАрдЬрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдХрдореНрдкрд╛рдЗрд▓ рдЧрд░рд┐рдПрдХреЛ, рдбрд┐рдмрдЧ рдмрд┐рд▓реНрдбрд╣рд░реВрдорд╛;
  • f-strings ('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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди