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

рд╡рд┐рдХрд╛рд╕рдХреЛ рдПрдХ рд╡рд░реНрд╖ рдкрдЫрд┐, рдкрд╛рдЗрдерди 3.10 рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛рдХреЛ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рд░рд┐рд▓реАрдЬ рдкреНрд░рд╕реНрддреБрдд рдЧрд░рд┐рдПрдХреЛ рдЫред рдирдпрд╛рдБ рд╢рд╛рдЦрд╛рд▓рд╛рдИ рдбреЗрдв рд╡рд░реНрд╖рдХреЛ рд▓рд╛рдЧрд┐ рд╕рд╣рдпреЛрдЧ рдЧрд░рд┐рдиреЗрдЫ, рддреНрдпрд╕рдкрдЫрд┐ рдердк рд╕рд╛рдвреЗ рддреАрди рд╡рд░реНрд╖рдХрд╛ рд▓рд╛рдЧрд┐ рдХрдордЬреЛрд░реАрд╣рд░реВ рд╣рдЯрд╛рдЙрдирдХрд╛ рд▓рд╛рдЧрд┐ рдлрд┐рдХреНрд╕рд╣рд░реВ рдЙрддреНрдкрдиреНрди рдЧрд░рд┐рдиреЗрдЫред

рдЙрд╣реА рд╕рдордпрдорд╛, рдкрд╛рдЗрдерди 3.11 рд╢рд╛рдЦрд╛рдХреЛ рдЕрд▓реНрдлрд╛ рдкрд░реАрдХреНрд╖рдг рд╕реБрд░реБ рднрдпреЛ (рдирдпрд╛рдБ рд╡рд┐рдХрд╛рд╕ рддрд╛рд▓рд┐рдХрд╛ рдЕрдиреБрд╕рд╛рд░, рдЕрдШрд┐рд▓реНрд▓реЛ рд╢рд╛рдЦрд╛рдХреЛ рд░рд┐рд▓реАрдЬрдХреЛ рдкрд╛рдБрдЪ рдорд╣рд┐рдирд╛ рдЕрдШрд┐ рдирдпрд╛рдБ рд╢рд╛рдЦрд╛рдХреЛ рдХрд╛рдо рд╕реБрд░реБ рд╣реБрдиреНрдЫ рд░ рдЕрд░реНрдХреЛ рд░рд┐рд▓реАрдЬрдХреЛ рд╕рдордпрдорд╛ рдЕрд▓реНрдлрд╛ рдкрд░реАрдХреНрд╖рдг рдЪрд░рдгрдорд╛ рдкреБрдЧреНрдЫред )ред Python 3.11 рд╢рд╛рдЦрд╛ рд╕рд╛рдд рдорд╣рд┐рдирд╛рдХреЛ рд▓рд╛рдЧрд┐ рдЕрд▓реНрдлрд╛ рд░рд┐рд▓реАрдЬрдорд╛ рд╣реБрдиреЗрдЫ, рдЬрд╕рдХреЛ рдЕрд╡рдзрд┐рдорд╛ рдирдпрд╛рдБ рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВ рдердкрд┐рдиреЗрдЫ рд░ рдмрдЧрд╣рд░реВ рдлрд┐рдХреНрд╕ рдЧрд░рд┐рдиреЗрдЫред рдпрд╕рдкрдЫрд┐, рдмрд┐рдЯрд╛ рд╕рдВрд╕реНрдХрд░рдгрд╣рд░реВ рддреАрди рдорд╣рд┐рдирд╛рдХреЛ рд▓рд╛рдЧрд┐ рдкрд░реАрдХреНрд╖рдг рдЧрд░рд┐рдиреЗрдЫ, рдЬрд╕рдорд╛ рдирдпрд╛рдБ рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВ рдердкреНрди рдирд┐рд╖реЗрдз рдЧрд░рд┐рдиреЗрдЫ рд░ рд╕рдмреИ рдзреНрдпрд╛рди рдмрдЧрд╣рд░реВ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрди рджрд┐рдЗрдиреЗрдЫред рд░рд┐рд▓рд┐рдЬ рд╣реБрдиреБ рдЕрдШрд┐ рдЕрдиреНрддрд┐рдо рджреБрдИ рдорд╣рд┐рдирд╛рдХреЛ рд▓рд╛рдЧрд┐, рд╢рд╛рдЦрд╛ рд░рд┐рд▓рд┐рдЬ рдЙрдореНрдореЗрджреНрд╡рд╛рд░ рдЪрд░рдгрдорд╛ рд╣реБрдиреЗрдЫ, рдЬрд╕рдорд╛ рдЕрдиреНрддрд┐рдо рд╕реНрдерд┐рд░реАрдХрд░рдг рдЧрд░рд┐рдиреЗрдЫред

Python 3.10 рдорд╛ рдирдпрд╛рдБ рдердкрд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЫрдиреН:

  • рдврд╛рдБрдЪрд╛ рдорд┐рд▓рд╛рдирдХрд╛ рд▓рд╛рдЧрд┐ "рдорд┐рд▓рд╛рди" рд░ "рдХреЗрд╕" рдЕрдкрд░реЗрдЯрд░рд╣рд░реВ рд▓рд╛рдЧреВ рдЧрд░рд┐рдпреЛ, рдЬрд╕рд▓реЗ рдХреЛрдб рдкрдвреНрди рдпреЛрдЧреНрдпрддрд╛рдорд╛ рд╕реБрдзрд╛рд░ рдЧрд░реНрдЫ, рд╕реНрд╡реЗрдЪреНрдЫрд╛рдЪрд╛рд░реА рдкрд╛рдЗрдерди рд╡рд╕реНрддреБрд╣рд░реВрдХреЛ рдорд┐рд▓рд╛рдирд▓рд╛рдИ рд╕рд░рд▓ рдмрдирд╛рдЙрдБрдЫ, рд░ рдЙрдиреНрдирдд рд╕реНрдерд┐рд░ рдкреНрд░рдХрд╛рд░ рдЬрд╛рдБрдЪ рдорд╛рд░реНрдлрдд рдХреЛрдб рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдмрдврд╛рдЙрдБрдЫред рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реНрдХрд╛рд▓рд╛, рд░рд╕реНрдЯ, рд░ F# рдорд╛ рдкреНрд░рджрд╛рди рдЧрд░рд┐рдПрдХреЛ "рдорд┐рд▓рд╛рди" рдЕрдкрд░реЗрдЯрд░ рдЬрд╕реНрддреИ рд╣реЛ, рдЬрд╕рд▓реЗ "рдХреЗрд╕" рдЕрдкрд░реЗрдЯрд░рдорд╛ рдЖрдзрд╛рд░рд┐рдд рдмреНрд▓рдХрд╣рд░реВрдорд╛ рд╕реВрдЪреАрдмрджреНрдз рдврд╛рдБрдЪрд╛рд╣рд░реВрдХреЛ рд╕реВрдЪреАрд╕рдБрдЧ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдХреЛ рдирддрд┐рдЬрд╛рд▓рд╛рдИ рддреБрд▓рдирд╛ рдЧрд░реНрджрдЫред

    def http_error(status): рдорд┐рд▓рд╛рди рд╕реНрдерд┐рддрд┐: рдХреЗрд╕ 400: рдлрд┐рд░реНрддрд╛ "рдЦрд░рд╛рдм рдЕрдиреБрд░реЛрдз" рдХреЗрд╕ 401

    рдЕрд╡рд╕реНрдерд┐рдд рдорд╛рдирд╣рд░реВрдорд╛ рдЖрдзрд╛рд░рд┐рдд рднреНрдпрд╛рд░реАрдПрдмрд▓рд╣рд░реВ рдмрд╛рдБрдзреНрдирдХрд╛ рд▓рд╛рдЧрд┐ рддрдкрд╛рдИрдВрд▓реЗ рд╡рд╕реНрддреБрд╣рд░реВ, рдЯреБрдкрд▓реНрд╕, рд╕реВрдЪреАрд╣рд░реВ, рд░ рд╕реНрд╡реИрдЪреНрдЫрд┐рдХ рдЕрдиреБрдХреНрд░рдорд╣рд░реВ рдЕрдирдкреНрдпрд╛рдХ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рдпрд╕рд▓рд╛рдИ рдиреЗрд╕реНрдЯреЗрдб рдЯреЗрдореНрдкреНрд▓реЗрдЯрд╣рд░реВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░реНрди, рдЯреЗрдореНрдкреНрд▓реЗрдЯрдорд╛ рдердк "рдпрджрд┐" рд╕рд░реНрддрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди, рдорд╛рд╕реНрдХрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ ("[x, y, *рдмрд╛рдХреА]"), рдХреБрдЮреНрдЬреА/рдорд╛рди рдореНрдпрд╛рдкрд┐рдЩрд╣рд░реВ (рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, {"рдмреНрдпрд╛рдиреНрдбрд╡рд┐рде": b, "рд╡рд┐рд▓рдореНрдмрддрд╛) рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдЗрдПрдХреЛ рдЫред тАЭ: l} рд╢рдмреНрджрдХреЛрд╢рдмрд╛рдЯ "рдмреНрдпрд╛рдиреНрдбрд╡рд┐рде" рд░ "рд▓реЗрдЯреЗрдиреНрд╕реА" рдорд╛рдирд╣рд░реВ рдирд┐рдХрд╛рд▓реНрди, рд╕рдмрдЯреЗрдореНрдкреНрд▓реЗрдЯрд╣рд░реВ рдирд┐рдХрд╛рд▓реНрдиреБрд╣реЛрд╕реН (":=" рдЕрдкрд░реЗрдЯрд░), рдЯреЗрдореНрдкреНрд▓реЗрдЯрдорд╛ рдирд╛рдорд┐рдд рд╕реНрдерд┐рд░рд╛рдВрдХрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реЛрд╕реНред рдХрдХреНрд╖рд╛рд╣рд░реВрдорд╛, "__match__()" рд╡рд┐рдзрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдорд┐рд▓реНрджреЛ рд╡реНрдпрд╡рд╣рд╛рд░ рдЕрдиреБрдХреВрд▓рди рдЧрд░реНрди рд╕рдореНрднрд╡ рдЫред

    dataclasses рдмрд╛рдЯ dataclass @dataclass class рдмрд┐рдиреНрджреБ рдЖрдпрд╛рдд рдЧрд░реНрдиреБрд╣реЛрд╕реН: x: int y: int def whereis(point): рдорд┐рд▓рд╛рди рдкреЛрдЗрдиреНрдЯ: рдХреЗрд╕ рдкреЛрдЗрдиреНрдЯ(0, 0): print("Origin") рдХреЗрд╕ рдкреЛрдЗрдиреНрдЯ(0, y): print(f" Y={y}") рдХреЗрд╕ рдкреЛрдЗрдиреНрдЯ(x, 0): print(f"X={x}") рдХреЗрд╕ рдкреЛрдЗрдиреНрдЯ(): print("рдЕрдиреНрдп рдард╛рдЙрдБрдорд╛") рдХреЗрд╕ _: рдкреНрд░рд┐рдиреНрдЯ("рдмрд┐рдиреНрджреБ рд╣реЛрдЗрди") рдорд┐рд▓реНрдЫ рдмрд┐рдиреНрджреБ: рдХреЗрд╕ рдкреЛрдЗрдиреНрдЯ(x, y) рдпрджрд┐ x == y: print(f"Y=X at {x}") рдХреЗрд╕ рдкреЛрдЗрдиреНрдЯ(x, y): рдЫрд╛рдкреНрдиреБрд╣реЛрд╕реН(f" рд╡рд┐рдХрд░реНрдгрдорд╛ рд╣реЛрдЗрди") рд░рд╛рддреЛ, рд╣рд░рд┐рдпреЛ, рдиреАрд▓реЛ = реж, рез, реи рдорд┐рд▓реНрджреЛ рд░рдВрдЧ: рдХреЗрд╕ рд░рд╛рддреЛ: рдкреНрд░рд┐рдиреНрдЯ ("рдо рд░рд╛рддреЛ рджреЗрдЦреНрдЫреБ!") рдХреЗрд╕ рд╣рд░рд┐рдпреЛ: рдЫрд╛рдкреНрдиреБрд╣реЛрд╕реН ("рдШрд╛рдБрд╕ рд╣рд░рд┐рдпреЛ рдЫ") рдХреЗрд╕ рдиреАрд▓реЛ: рдЫрд╛рдкреНрдиреБрд╣реЛрд╕реН ("рдо рдирд┐рд▓реЛ рдорд╣рд╕реБрд╕ рдЧрд░реНрджреИрдЫреБ :(")

  • рдЕрдм рдзреЗрд░реИ рдкрдЩреНрдХреНрддрд┐рд╣рд░реВрдорд╛ рд╕рдиреНрджрд░реНрдн рдкреНрд░рдмрдиреНрдзрдХрд╣рд░реВрдХреЛ рд╕рдЩреНрдЧреНрд░рд╣рдХреЛ рдкрд░рд┐рднрд╛рд╖рд╛ рд╡рд┐рднрд╛рдЬрд┐рдд рдЧрд░реНрдирдХреЛ рд╕рд╛рде рдмрдпрд╛рдирдорд╛ рдХреЛрд╖реНрдардХрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдореНрднрд╡ рдЫред рдпрд╕рд▓рд╛рдИ рд╕рдореВрд╣рдорд╛ рдЕрдиреНрддрд┐рдо рд╕рдиреНрджрд░реНрдн рдкреНрд░рдмрдиреНрдзрдХ рдкрдЫрд┐ рдЕрд▓реНрдкрд╡рд┐рд░рд╛рдо рдЫреЛрдбреНрди рдкрдирд┐ рдЕрдиреБрдорддрд┐ рджрд┐рдЗрдПрдХреЛ рдЫ: ( CtxManager1() example1 рдХреЛ рд░реВрдкрдорд╛, CtxManager2() example2 рдХреЛ рд░реВрдкрдорд╛, CtxManager3() example3 рдХреЛ рд░реВрдкрдорд╛, ): ...
  • рд╕реНрдЯреНрд░рд┐рдЩ рд╢рд╛рдмреНрджрд┐рдХрдорд╛ рдЦреБрд▓рд╛ рдХреЛрд╖реНрдардХрд╣рд░реВ рд░ рдЙрджреНрдзрд░рдгрд╣рд░реВрд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рддреНрд░реБрдЯрд┐рд╣рд░реВрдХреЛ рдХреЛрдб рд╕реНрдерд╛рдирдХреЛ рд╕реБрдзрд╛рд░рд┐рдПрдХреЛ рд░рд┐рдкреЛрд░реНрдЯрд┐рдЩред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдЬрдм рддреНрдпрд╣рд╛рдБ рдПрдХ рдЦреБрд▓рд╛ рдХреЛрд╖реНрдардХ рдЫ, рдирд┐рдореНрди рдирд┐рд░реНрдорд╛рдгрдорд╛ рд╕рд┐рдиреНрдЯреНрдпрд╛рдХреНрд╕ рддреНрд░реБрдЯрд┐ рд░рд┐рдкреЛрд░реНрдЯ рдЧрд░реНрдиреБрдХреЛ рд╕рдЯреНрдЯрд╛, рд╕реВрдЪрдХрд▓реЗ рдЕрдм рдЦреЛрд▓реНрдиреЗ рдХреЛрд╖реНрдардХрд▓рд╛рдИ рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдЧрд░реНрджрдЫ рд░ рддреНрдпрд╣рд╛рдБ рдХреБрдиреИ рдмрдиреНрдж рдмреНрд▓рдХ рдЫреИрди рднрдиреЗрд░ рд╕рдВрдХреЗрдд рдЧрд░реНрджрдЫред рдлрд╛рдЗрд▓ "example.py", рд▓рд╛рдЗрди 1 рдЕрдкреЗрдХреНрд╖рд┐рдд = {9:1, 18:2, 19:2, 27:3, 28:3, 29:3, 36:4, 37:4, ^SyntaxError: '{' рдХрд╣рд┐рд▓реНрдпреИ рдмрдиреНрдж рднрдПрдХреЛ рдерд┐рдПрди

    рдердк рд╡рд┐рд╢реЗрд╖ рд╕рд┐рдиреНрдЯреНрдпрд╛рдХреНрд╕ рддреНрд░реБрдЯрд┐ рд╕рдиреНрджреЗрд╢рд╣рд░реВ рдердкрд┐рдпреЛ: рдмреНрд▓рдХрдХреЛ рдЕрдЧрд╛рдбрд┐ рд░ рд╢рдмреНрджрдХреЛрд╢рд╣рд░реВрдорд╛ ":" рдкреНрд░рддреАрдХ рдЫреБрдЯреЗрдХреЛ, рдХреЛрд╖реНрдардХрд╕рдБрдЧ рдЯреБрдкрд▓ рдЫреБрдЯреНрдпрд╛рдЙрдБрджреИрди, рд╕реВрдЪреАрд╣рд░реВрдорд╛ рдЕрд▓реНрдкрд╡рд┐рд░рд╛рдо рдЫреБрдЯреЗрдХреЛ, "рдмрд╛рд╣реЗрдХ" рд░ "рдЕрдиреНрддрдорд╛" рдмрд┐рдирд╛ "рдкреНрд░рдпрд╛рд╕" рдмреНрд▓рдХ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрджреИ, "= рдкреНрд░рдпреЛрдЧ рдЧрд░реА рддреБрд▓рдирд╛рдорд╛ "" = =" рдХреЛ рд╕рдЯреНрдЯрд╛, f-strings рдорд╛ *-expressions рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрджреИред рдердк рд░реВрдкрдорд╛, рдпрд╕рд▓реЗ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдЧрд░реНрджрдЫ рдХрд┐ рд╕рдореНрдкреВрд░реНрдг рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдЧрд░рд┐рдПрдХреЛ рдЫ, рд╕реБрд░реБрд╡рд╛рдд рдорд╛рддреНрд░ рд╣реЛрдЗрди, рд░ рдЧрд▓рдд рдЗрдиреНрдбреЗрдиреНрдЯреЗрд╢рдирд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рддреНрд░реБрдЯрд┐рд╣рд░реВрдХреЛ рд╕рдиреНрджрд░реНрднрдХреЛ рдмрд╛рд░реЗрдорд╛ рдердк рд╕реНрдкрд╖реНрдЯ рдЬрд╛рдирдХрд╛рд░реАред >>> def foo(): ... if lel: ... x = 2 рдлрд╛рдЗрд▓ " ", рд░реЗрдЦрд╛ 3 x = 2 ^ рдЗрдиреНрдбреЗрдиреНрдЯреЗрд╢рди рддреНрд░реБрдЯрд┐: рд▓рд╛рдЗрди 2 рдорд╛ 'if' рдХрдерди рдкрдЫрд┐ рдЗрдиреНрдбреЗрдиреНрдЯреЗрдб рдмреНрд▓рдХрдХреЛ рдЕрдкреЗрдХреНрд╖рд╛ рдЧрд░рд┐рдПрдХреЛ рдЫ

    рдкреНрд░рдХрд╛рд░реНрдпрдорд╛ рд╡рд┐рд╢реЗрд╖рддрд╛рд╣рд░реВ рд░ рдЪрд░ рдирд╛рдорд╣рд░реВрдХреЛ рдирд╛рдордорд╛ рдЯрд╛рдЗрдкрдХреЛ рдХрд╛рд░рдг рддреНрд░реБрдЯрд┐рд╣рд░реВрдорд╛, рд╕рд╣реА рдирд╛рдордХреЛ рд╕рд╛рде рд╕рд┐рдлрд╛рд░рд┐рд╕ рдЖрдЙрдЯрдкреБрдЯ рд╣реЛред >>>collections.namedtoplo Traceback (рд╕рдмреИрднрдиреНрджрд╛ рдкрдЫрд┐рд▓реНрд▓реЛ рдХрд▓): рдлрд╛рдЗрд▓ ┬л ", рд▓рд╛рдЗрди 1, in рд╡рд┐рд╢реЗрд╖рддрд╛ рддреНрд░реБрдЯрд┐: рдореЛрдбреНрдпреБрд▓ 'рд╕рдЩреНрдЧреНрд░рд╣' рдорд╛ рдХреБрдиреИ рд╡рд┐рд╢реЗрд╖рддрд╛ 'рдирд╛рдореЗрдбрдЯреЛрдкреНрд▓реЛ' рдЫреИрдиред рдХреЗ рддрдкрд╛рдИрдХреЛ рдорддрд▓рдм: nametuple?

  • рдбрд┐рдмрдЧрд┐рдЩ рдЙрдкрдХрд░рдгрд╣рд░реВ рд░ рдкреНрд░реЛрдлрд╛рдЗрд▓рд░рд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐, рдЯреНрд░реЗрд╕ рдШрдЯрдирд╛рд╣рд░реВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░рд┐рдПрдХреЛ рдХреЛрдбрдХреЛ рд╕рд╣реА рд▓рд╛рдЗрди рдирдореНрдмрд░рд╣рд░реВ рдкреНрд░рджрд╛рди рдЧрд░рд┐рдиреНрдЫред
  • sys.flags.warn_default_encoding рд╕реЗрдЯрд┐рдЩ рдердкрд┐рдпреЛ TextIOWrapper рд╕рдБрдЧ рд╕рдореНрднрд╛рд╡рд┐рдд рддреНрд░реБрдЯрд┐рд╣рд░реВ рдмрд╛рд░реЗ рдЪреЗрддрд╛рд╡рдиреА рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрди рд░ open() рдкреНрд░рд╢реЛрдзрди UTF-8 рдПрдиреНрдХреЛрдб рдЧрд░рд┐рдПрдХрд╛ рдлрд╛рдЗрд▓рд╣рд░реВ рд╕реНрдкрд╖реНрдЯ рд░реВрдкрдорд╛ 'рдЗрдиреНрдХреЛрдбрд┐рдЩ=┬╗utf-8тА│ рд╡рд┐рдХрд▓реНрдк рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирдЧрд░реА (ASCII рдПрдиреНрдХреЛрдбрд┐рдЩ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░реВрдкрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ)ред ред рдирдпрд╛рдБ рд╡рд┐рдореЛрдЪрдирд▓реЗ рд╣рд╛рд▓рдХреЛ рд▓реЛрдХреЗрд▓рдорд╛ рдЖрдзрд╛рд░рд┐рдд рдЗрдиреНрдХреЛрдбрд┐рдЩ рд╕реЗрдЯ рдЧрд░реНрди 'рдЗрдиреНрдХреЛрдбрд┐рдЩ="рд▓реЛрдХреЗрд▓"' рдорд╛рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ рдкрдирд┐ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫред
  • рдЯрд╛рдЗрдкрд┐рдЩ рдореЛрдбреНрдпреБрд▓рдорд╛ рдирдпрд╛рдБ рдЕрдкрд░реЗрдЯрд░ рдердкрд┐рдПрдХреЛ рдЫ, рдЬрд╕рд▓реЗ рдЯрд╛рдЗрдк рдПрдиреЛрдЯреЗрд╕рдирд╣рд░реВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рдЙрдкрдХрд░рдгрд╣рд░реВ рдЙрдкрд▓рдмреНрдз рдЧрд░рд╛рдЙрдБрдЫ, рддрдкрд╛рдИрдВрд▓рд╛рдИ рд╕рд┐рдиреНрдЯреНрдпрд╛рдХреНрд╕ тАЬX | Y" рдкреНрд░рдХрд╛рд░рд╣рд░реВ рдордзреНрдпреЗ рдПрдХ рдЪрдпрди рдЧрд░реНрди (X рдкреНрд░рдХрд╛рд░ рд╡рд╛ Y рдкреНрд░рдХрд╛рд░)ред def рд╡рд░реНрдЧ (рд╕рдВрдЦреНрдпрд╛: int | рдлреНрд▓реЛрдЯ) -> int | рдлреНрд▓реЛрдЯ: рд░рд┐рдЯрд░реНрди рдирдореНрдмрд░ ** 2 рдкрд╣рд┐рд▓реЗ рд╕рдорд░реНрдерд┐рдд рдХрдиреНрд╕реНрдЯреНрд░рдХреНрдЯрдХреЛ рдмрд░рд╛рдмрд░ рд╣реЛ: def рд╡рд░реНрдЧ(рдирдореНрдмрд░: Union[int, float]) -> Union[int, float]: рд░рд┐рдЯрд░реНрди рдирдореНрдмрд░ ** 2
  • Concatenate рдЕрдкрд░реЗрдЯрд░ рд░ ParamSpec рдЪрд░ рдЯрд╛рдЗрдкрд┐рдЩ рдореЛрдбреНрдпреБрд▓рдорд╛ рдердкрд┐рдПрдХреЛ рдЫ, рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ Callable рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрд╛ рд╕реНрдерд┐рд░ рдкреНрд░рдХрд╛рд░ рдЬрд╛рдБрдЪрдХреЛ рд▓рд╛рдЧрд┐ рдердк рдЬрд╛рдирдХрд╛рд░реА рдкрд╛рд╕ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рдЯрд╛рдЗрдкрд┐рдЩ рдореЛрдбреНрдпреБрд▓рд▓реЗ рдЯрд╛рдЗрдк рд╕реБрд░рдХреНрд╖рд╛ рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВ рдПрдиреЛрдЯреЗрдЯ рдЧрд░реНрди TypeGuard рд░ рдкреНрд░рдХрд╛рд░ рдЙрдкрдирд╛рдо рд╕реНрдкрд╖реНрдЯ рд░реВрдкрдорд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░реНрди TypeAlias тАЛтАЛрд▓рд╛рдИ рд╡рд┐рд╢реЗрд╖ рдорд╛рдирд╣рд░реВ рдкрдирд┐ рдердкреНрдЫред StrCache: TypeAlias тАЛтАЛ= 'рдХреНрдпрд╛рд╕[str]' # рдПрдХ рдкреНрд░рдХрд╛рд░ рдЙрдкрдирд╛рдо
  • zip() рдкреНрд░рдХрд╛рд░реНрдпрд▓реЗ рд╡реИрдХрд▓реНрдкрд┐рдХ "рдХрдбрд╛" рдЭрдгреНрдбрд╛ рд▓рд╛рдЧреВ рдЧрд░реНрджрдЫ, рдЬреБрди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрджрд╛, рджреЛрд╣реЛрд░реНрдпрд╛рдЗрдПрдХреЛ рддрд░реНрдХрд╣рд░реВ рдЙрд╣реА рд▓рдореНрдмрд╛рдЗ рдЫрдиреН рдХрд┐ рдЫреИрдирдиреН рднрдиреЗрд░ рдЬрд╛рдБрдЪ рдЧрд░реНрджрдЫред >>> рд╕реВрдЪреА(zip(('a', 'b', 'c'), (1, 2, 3), strict=True) [('a', 1), ('b', 2) , ('c', 3)] >>> рд╕реВрдЪреА(zip(range(3), ['fee', 'fi', 'fo', 'fum'], strict=True)) Traceback (рд╕рдмреИрднрдиреНрджрд╛ рдкрдЫрд┐рд▓реНрд▓реЛ рдХрд▓ рдЕрдиреНрддрд┐рдо ): тАж ValueError: zip() argument 2 argument 1 рднрдиреНрджрд╛ рд▓рд╛рдореЛ рдЫ
  • рдирдпрд╛рдБ рдмрд┐рд▓реНрдЯ-рдЗрди рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВ aiter() рд░ anext() рдХрд╛рд░реНрдпрд╣рд░реВ iter() рд░ next() рдорд╛ рдПрд╕рд┐рдиреНрдХреНрд░реЛрдирд╕ рдПрдирд╛рд▓рдЧрд╣рд░реВрдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдХреЛ рд╕рд╛рде рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдЫрдиреНред
  • рд╕рд╛рдирд╛ рд╡рд╕реНрддреБрд╣рд░реВрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрджрд╛ str(), bytes() рд░ bytearray() рдХрдиреНрд╕реНрдЯреНрд░рдХреНрдЯрд░рд╣рд░реВрдХреЛ рдХрд╛рдо 30-40% рджреНрд╡рд╛рд░рд╛ рджреНрд░реБрдд рдЧрд░рд┐рдПрдХреЛ рдЫред
  • рд░рдирдкреА рдореЛрдбреНрдпреБрд▓рдорд╛ рдЖрдпрд╛рдд рдХрд╛рд░реНрдпрд╣рд░реВрдХреЛ рд╕рдВрдЦреНрдпрд╛ рдШрдЯрд╛рдЗрдпреЛред рдЖрджреЗрд╢ "python3 -m module_name" рдЕрдм 1.4 рдмрд╛рдЯ 69 рд╕рдореНрдо рдЖрдпрд╛рддрд┐рдд рдореЛрдбреНрдпреБрд▓рд╣рд░реВ рдШрдЯрд╛рдЙрдБрджрд╛ рдФрд╕рдд 51 рдЧреБрдгрд╛ рдЫрд┐рдЯреЛ рдЪрд▓реНрдЫред
  • LOAD_ATTR рдирд┐рд░реНрджреЗрд╢рдирд▓реЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЕрдкрдХреЛрдбрд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐ рдХреНрдпрд╛рд╕рд┐рдЩ рдореЗрдХрд╛рдирд┐рдЬрдо рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫ, рдЬрд╕рд▓реЗ рдирд┐рдпрдорд┐рдд рд╡рд┐рд╢реЗрд╖рддрд╛рд╣рд░реВрд╕рдБрдЧ 36% рд╕рдореНрдо, рд░ рд╕реНрд▓рдЯрд╣рд░реВрд╕рдБрдЧ 44% рд╕рдореНрдо рдХрд╛рдордХреЛ рдЧрддрд┐ рдмрдврд╛рдЙрди рд╕рдореНрднрд╡ рдмрдирд╛рдпреЛред
  • "--enable-optimizations" рд╡рд┐рдХрд▓реНрдкрдХреЛ рд╕рд╛рде рдкрд╛рдЗрдерди рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрджрд╛, "-fno-semantic-interposition" рдореЛрдб рдЕрдм рд╕рдХреНрд╖рдо рдкрд╛рд░рд┐рдПрдХреЛ рдЫ, рдЬрд╕рд▓реЗ "--enable-shared" рд╕рдБрдЧ рдирд┐рд░реНрдорд╛рдгрдХреЛ рддреБрд▓рдирд╛рдорд╛ 30% рд╕рдореНрдо рджреЛрднрд╛рд╖реЗрд▓рд╛рдИ рдЧрддрд┐ рджрд┐рди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред "рд╡рд┐рдХрд▓реНрдкред
  • hashlib рд░ ssl рдореЛрдбреНрдпреБрд▓рд╣рд░реВрд▓реЗ OpenSSL 3.0.0 рдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдердкреЗрдХрд╛ рдЫрдиреН рд░ 1.1.1 рднрдиреНрджрд╛ рдкреБрд░рд╛рдирд╛ OpenSSL рд╕рдВрд╕реНрдХрд░рдгрд╣рд░реВрд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрди рдмрдиреНрдж рдЧрд░реЗрдХрд╛ рдЫрдиреНред
  • рдкреБрд░рд╛рдиреЛ рдкрд╛рд░реНрд╕рд░ рд╣рдЯрд╛рдЗрдПрдХреЛ рдЫ, рдЬреБрди PEG (рдкрд╛рд░реНрд╕рд┐рдЩ рдПрдХреНрд╕рдкреНрд░реЗрд╢рди рд╡реНрдпрд╛рдХрд░рдг) рдкрд╛рд░реНрд╕рд░рджреНрд╡рд╛рд░рд╛ рдЕрдШрд┐рд▓реНрд▓реЛ рд╢рд╛рдЦрд╛рдорд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛред рдврд╛рдБрдЪрд╛ рдореЛрдбреНрдпреБрд▓ рд╣рдЯрд╛рдЗрдПрдХреЛ рдЫред рд▓реБрдк рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░ asyncio API рдмрд╛рдЯ рд╣рдЯрд╛рдЗрдпреЛред рдкрд╣рд┐рд▓реЗ рдмрд╣рд┐рд╖реНрдХреГрдд рдЧрд░рд┐рдПрдХрд╛ рд╡рд┐рдзрд┐рд╣рд░реВ рд╣рдЯрд╛рдЗрдПрдХрд╛ рдЫрдиреНред Py_UNICODE_str* рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВ рдЬрд╕рд▓реЗ Py_UNICODE* рд╕реНрдЯреНрд░рд┐рдЩрд╣рд░реВ рд╣реЗрд░рдлреЗрд░ рдЧрд░реНрдЫ рд╣рдЯрд╛рдЗрдпреЛред
  • distutils рдореЛрдбреНрдпреБрд▓ рд╣рдЯрд╛рдЗрдПрдХреЛ рдЫ рд░ Python 3.12 рдорд╛ рд╣рдЯрд╛рдЙрдирдХреЛ рд▓рд╛рдЧрд┐ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдЧрд░рд┐рдПрдХреЛ рдЫред Distutils рдХреЛ рд╕рдЯреНрдЯрд╛, рдпреЛ setuptools, рдкреНрдпрд╛рдХреЗрдЬрд┐рдЩреНрдЧ, рдкреНрд▓реЗрдЯрдлрд░реНрдо, shutil, subprocess рд░ sysconfig рдореЛрдбреНрдпреБрд▓рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рд┐рдлрд╛рд░рд┐рд╕ рдЧрд░рд┐рдиреНрдЫред PyUnicodeObject рдорд╛ wstr рд╕рдВрд░рдЪрдирд╛ рд╣рдЯрд╛рдЗрдПрдХреЛ рдЫ рд░ рд╣рдЯрд╛рдЙрдирдХреЛ рд▓рд╛рдЧрд┐ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдЧрд░рд┐рдПрдХреЛ рдЫред

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

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