рдкрд╛рдпрдерди 3.11 рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдХрд╛ рд╡рд┐рдореЛрдЪрди

рдПрдХ рд╕рд╛рд▓ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдмрд╛рдж, рдкрд╛рдпрдерди 3.11 рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдХреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд░рд┐рд▓реАрдЬрд╝ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХреА рдЧрдИ рд╣реИред рдирдИ рд╢рд╛рдЦрд╛ рдХреЛ рдбреЗрдврд╝ рд╕рд╛рд▓ рддрдХ рд╕рдорд░реНрдерди рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдЕрдЧрд▓реЗ рд╕рд╛рдврд╝реЗ рддреАрди рд╕рд╛рд▓ рддрдХ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреЛ рджреВрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрдзрд╛рд░ рддреИрдпрд╛рд░ рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред

рдЙрд╕реА рд╕рдордп, рдкрд╛рдпрдерди 3.12 рд╢рд╛рдЦрд╛ рдХрд╛ рдЕрд▓реНрдлрд╛ рдкрд░реАрдХреНрд╖рдг рд╢реБрд░реВ рд╣реБрдЖ (рдирдП рд╡рд┐рдХрд╛рд╕ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдПрдХ рдирдИ рд╢рд╛рдЦрд╛ рдкрд░ рдХрд╛рдо рдкрд┐рдЫрд▓реА рд╢рд╛рдЦрд╛ рдХреА рд░рд┐рд▓реАрдЬ рд╕реЗ рдкрд╛рдВрдЪ рдорд╣реАрдиреЗ рдкрд╣рд▓реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЕрдЧрд▓реА рд░рд┐рд▓реАрдЬ рдХреЗ рд╕рдордп рддрдХ рдЕрд▓реНрдлрд╛ рдкрд░реАрдХреНрд╖рдг рдЪрд░рдг рддрдХ рдкрд╣реБрдВрдЪ рдЬрд╛рддрд╛ рд╣реИ) ). рдкрд╛рдпрдерди 3.12 рд╢рд╛рдЦрд╛ рд╕рд╛рдд рдорд╣реАрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрд▓реНрдлрд╛ рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ рд╣реЛрдЧреА, рдЬрд┐рд╕рдХреЗ рджреМрд░рд╛рди рдирдИ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдЬреЛрдбрд╝реА рдЬрд╛рдПрдВрдЧреА рдФрд░ рдмрдЧ рдареАрдХ рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред рдЗрд╕рдХреЗ рдмрд╛рдж рддреАрди рдорд╣реАрдиреЗ рддрдХ рдмреАрдЯрд╛ рд╡рд░реНрдЬрди рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЗрд╕ рджреМрд░рд╛рди рдирдП рдлреАрдЪрд░реНрд╕ рдЬреЛрдбрд╝рдиреЗ рдкрд░ рд░реЛрдХ рд░рд╣реЗрдЧреА рдФрд░ рд╕рд╛рд░рд╛ рдзреНрдпрд╛рди рдмрдЧреНрд╕ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдкрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд░рд┐рд▓реАрдЬ рд╕реЗ рдкрд╣рд▓реЗ рдкрд┐рдЫрд▓реЗ рджреЛ рдорд╣реАрдиреЛрдВ рдХреЗ рд▓рд┐рдП, рд╢рд╛рдЦрд╛ рд░рд┐рд▓реАрдЬ рдЙрдореНрдореАрджрд╡рд╛рд░ рдЪрд░рдг рдореЗрдВ рд╣реЛрдЧреА, рдЬрд┐рд╕ рдкрд░ рдЕрдВрддрд┐рдо рд╕реНрдерд┐рд░реАрдХрд░рдг рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдкрд╛рдпрдерди 3.11 рдореЗрдВ рдирдП рдкрд░рд┐рд╡рд░реНрдзрди рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:

  • рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрд╛рд░реНрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдирдИ рд╢рд╛рдЦрд╛ рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдХреЗ рддреНрд╡рд░рдг рдФрд░ рдЗрдирд▓рд╛рдЗрди рдкрд░рд┐рдирд┐рдпреЛрдЬрди, рдорд╛рдирдХ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рддреЗрдЬрд╝ рджреБрднрд╛рд╖рд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ (x+x, x*x, xx, a[i], a[i] = z, f(arg) рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдкрд░рд┐рд╡рд░реНрддрди рд╢рд╛рдорд┐рд▓ рд╣реИрдВред C( arg), o.method(), o.attr = z, *seq), рд╕рд╛рде рд╣реА рд╕рд┐рдВрдбрд░ рдФрд░ HotPy рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рдЕрдиреБрдХреВрд▓рдиред рд▓реЛрдб рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрди рдЧрддрд┐ рдореЗрдВ 10-60% рдХреА рд╡реГрджреНрдзрд┐ рд╣реЛрддреА рд╣реИред рдФрд╕рддрди, рдкреАрдкрд░рдлреЙрд░реНрдореЗрдВрд╕ рдЯреЗрд╕реНрдЯ рд╕реВрдЯ рдкрд░ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ 25% рдХреА рд╡реГрджреНрдзрд┐ рд╣реБрдИред

    рдмрд╛рдЗрдЯрдХреЛрдб рдХреИрд╢рд┐рдВрдЧ рддрдВрддреНрд░ рдХреЛ рдлрд┐рд░ рд╕реЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рджреБрднрд╛рд╖рд┐рдпрд╛ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд╕рдордп 10-15% рдХрдо рд╣реЛ рдЧрдпрд╛ рд╣реИред рдХреЛрдб рдФрд░ рдмрд╛рдЗрдЯрдХреЛрдб рд╡рд╛рд▓реА рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдЕрдм рджреБрднрд╛рд╖рд┐рдпрд╛ рджреНрд╡рд╛рд░рд╛ рд╕реНрдерд┐рд░ рд░реВрдк рд╕реЗ рдЖрд╡рдВрдЯрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдХреИрд╢ рд╕реЗ рдирд┐рдХрд╛рд▓реЗ рдЧрдП рдмрд╛рдЗрдЯрдХреЛрдб рдХреЛ рдЕрдирдорд░реНрд╢рд▓рд┐рдВрдЧ рдХрд░рдиреЗ рдФрд░ рдХреЛрдб рд╡рд╛рд▓реА рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдЧрддрд┐рд╢реАрд▓ рдореЗрдореЛрд░реА рдореЗрдВ рд░рдЦрдиреЗ рдХреЗ рдЪрд░рдгреЛрдВ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

  • рдбрд╛рдпрдЧреНрдиреЛрд╕реНрдЯрд┐рдХ рд╕рдВрджреЗрд╢реЛрдВ рдореЗрдВ рдХреЙрд▓ рдЯреНрд░реЗрд╕ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╕рдордп, рдЕрдм рдЙрд╕ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг рддреНрд░реБрдЯрд┐ рд╣реБрдИ (рдкрд╣рд▓реЗ, рдХреЗрд╡рд▓ рд▓рд╛рдЗрди рдХреЛ рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдмрд┐рдирд╛ рдпрд╣ рдмрддрд╛рдП рдХрд┐ рд▓рд╛рдЗрди рдХреЗ рдХрд┐рд╕ рд╣рд┐рд╕реНрд╕реЗ рдореЗрдВ рддреНрд░реБрдЯрд┐ рд╣реБрдИ)ред рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдЯреНрд░реЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдПрдкреАрдЖрдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рднреА рдкреНрд░рд╛рдкреНрдд рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ рдФрд░ рдХреЛрдбрдСрдмреНрдЬреЗрдХреНрдЯ.co_positions() рд╡рд┐рдзрд┐ рдпрд╛ C API рдлрд╝рдВрдХреНрд╢рди PyCode_Addr2Location() рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдмрд╛рдЗрдЯрдХреЛрдб рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рдореИрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдкрд░рд┐рд╡рд░реНрддрди рдиреЗрд╕реНрдЯреЗрдб рдбрд┐рдХреНрд╢рдирд░реА рдСрдмреНрдЬреЗрдХреНрдЯ, рдПрдХрд╛рдзрд┐рдХ рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдФрд░ рдЬрдЯрд┐рд▓ рдЕрдВрдХрдЧрдгрд┐рддреАрдп рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдбреАрдмрдЧ рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИред рдЯреНрд░реЗрд╕рдмреИрдХ (рд╕рдмрд╕реЗ рд╣рд╛рд▓рд┐рдпрд╛ рдХреЙрд▓ рдЕрдВрддрд┐рдо): рдлрд╝рд╛рдЗрд▓ "рдЧрдгрдирд╛.py", рдкрдВрдХреНрддрд┐ 54, рдкрд░рд┐рдгрд╛рдо рдореЗрдВ = (x / y / z) * (a / b / c) ~~~~~~^~~ ZeroDivisionError: рд╢реВрдиреНрдп рд╕реЗ рд╡рд┐рднрд╛рдЬрди
  • рдЕрдкрд╡рд╛рдж рд╕рдореВрд╣реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛, рдЬрд┐рд╕рд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдПрдХ рд╕рд╛рде рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЕрдкрд╡рд╛рдж рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдФрд░ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдорд┐рд▓реАред рдХрдИ рдЕрдкрд╡рд╛рджреЛрдВ рдХреЛ рд╕рдореВрд╣реАрдХреГрдд рдХрд░рдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╕рд╛рде рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдирдП рдЕрдкрд╡рд╛рдж рдкреНрд░рдХрд╛рд░ рдПрдХреНрд╕реЗрдкреНрд╢рдирдЧреНрд░реБрдк рдФрд░ рдмреЗрд╕рдПрдХреНрд╕реЗрдкреНрд╢рдирдЧреНрд░реБрдк рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХрд┐рдП рдЧрдП рд╣реИрдВ, рдФрд░ рдПрдХ рд╕рдореВрд╣ рд╕реЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЕрдкрд╡рд╛рджреЛрдВ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП "рдЫреЛрдбрд╝рдХрд░*" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИред
  • Add_note() рд╡рд┐рдзрд┐ рдХреЛ BaseException рд╡рд░реНрдЧ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рдЕрдкрд╡рд╛рдж рдореЗрдВ рдПрдХ рдЯреЗрдХреНрд╕реНрдЯ рдиреЛрдЯ рд╕рдВрд▓рдЧреНрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдЬреЛрдбрд╝рдирд╛ рдЬреЛ рдЕрдкрд╡рд╛рдж рдлреЗрдВрдХреЗ рдЬрд╛рдиреЗ рдкрд░ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред
  • рд╡рд░реНрддрдорд╛рди рдирд┐рдЬреА рд╡рд░реНрдЧ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╕реНрд╡ рдкреНрд░рдХрд╛рд░ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ред рд╕реЗрд▓реНрдл рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрди рддрд░реАрдХреЛрдВ рдХреЛ рдПрдиреЛрдЯреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдЯрд╛рдЗрдкрд╡рд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдкрдиреА рдХрдХреНрд╖рд╛ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╕рд░рд▓ рддрд░реАрдХреЗ рд╕реЗ рд▓реМрдЯрд╛рддреЗ рд╣реИрдВред рдХреНрд▓рд╛рд╕ MyLock: def __enter__(self) -> Self: self.lock() рд░рд┐рдЯрд░реНрди self
  • рдПрдХ рд╡рд┐рд╢реЗрд╖ рд▓рд┐рдЯрд░рд▓рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рдХрд╛рд░ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХреЗрд╡рд▓ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЕрдХреНрд╖рд░ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рд▓рд┐рдЯрд░рд▓рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рдХрд╛рд░ (рдпрд╛рдиреА, рдирдВрдЧреЗ рдФрд░ рд▓рд┐рдЯрд░рд▓рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕, рд▓реЗрдХрд┐рди рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ рдпрд╛ рд╕рдВрдпреБрдХреНрдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдирд╣реАрдВ) рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рд╣реИрдВред рд▓рд┐рдЯрд░рд▓рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реНрдЯреНрд░рд┐рдВрдЧ рддрд░реНрдХреЛрдВ рдХреЛ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЛрдВ рдХрд╛ рдордирдорд╛рдирд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдЬрд┐рд╕рдореЗрдВ рдХрдордЬреЛрд░рд┐рдпрд╛рдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, SQL рдХреНрд╡реЗрд░реА рдпрд╛ рд╢реЗрд▓ рдХрдорд╛рдВрдб рдХреЗ рд▓рд┐рдП рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЙрддреНрдкрдиреНрди рдХрд░рддреЗ рд╕рдордпред рдбреАрдИрдПрдлрд╝ рд░рди_рдХреНрд╡реЗрд░реА (рдПрд╕рдХреНрдпреВрдПрд▓: рд▓рд┐рдЯрд░рд▓рд╕реНрдЯреНрд░рд┐рдВрдЧ) -> ... ... рдбреАрдИрдПрдлрд╝ рдХреЙрд▓рд░ (рдЖрд░реНрдмрд┐рдЯрд░реА_рд╕реНрдЯреНрд░рд┐рдВрдЧ: рд╕реНрдЯреНрд░, рдХреНрд╡реЗрд░реА_рд╕реНрдЯреНрд░рд┐рдВрдЧ: рд▓рд┐рдЯрд░рд▓рд╕реНрдЯреНрд░рд┐рдВрдЧ, рдЯреЗрдмрд▓_рдирд╛рдо: рд▓рд┐рдЯрд░рд▓рд╕реНрдЯреНрд░рд┐рдВрдЧ, ) -> рдХреЛрдИ рдирд╣реАрдВ: рд░рди_рдХреНрд╡реЗрд░реА ("рдЫрд╛рддреНрд░реЛрдВ рд╕реЗ рдЪреБрдиреЗрдВ *") # рдареАрдХ рд╣реИ рд░рди_рдХреНрд╡реЗрд░реА (рд▓рд┐рдЯрд░рд▓_рд╕реНрдЯреНрд░рд┐рдВрдЧ) # рдареАрдХ рд╣реИ рд░рди_рдХреНрд╡реЗрд░реА ('рд╕реЗ рдЪреБрдиреЗрдВ' + рд╢рд╛рдмреНрджрд┐рдХ_рд╕реНрдЯреНрд░рд┐рдВрдЧ) # рдареАрдХ рд╣реИ рд░рди_рдХреНрд╡реЗрд░реА (рдордирдорд╛рдирд╛_рд╕реНрдЯреНрд░рд┐рдВрдЧ) # рддреНрд░реБрдЯрд┐ рд░рди_рдХреНрд╡реЗрд░реА ( # рддреНрд░реБрдЯрд┐ рдПрдл'рдЪрдпрди рдХрд░реЗрдВ * рдЫрд╛рддреНрд░реЛрдВ рд╕реЗ рдЬрд╣рд╛рдВ рдирд╛рдо = {рдордирдорд╛рдирд╛_рд╕реНрдЯреНрд░рд┐рдВрдЧ}')
  • рдЯрд╛рдЗрдкрд╡рд╛рд░рдЯреБрдкрд▓ рдкреНрд░рдХрд╛рд░ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдЯрд╛рдЗрдкрд╡рд╛рд░ рдХреЗ рд╡рд┐рдкрд░реАрдд рд╡реЗрд░рд┐рдПрдмрд▓ рдЬреЗрдиреЗрд░рд┐рдХ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреЛ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рдХрд╡рд░ рдХрд░рддрд╛ рд╣реИред
  • рдорд╛рдирдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ TOML рдкреНрд░рд╛рд░реВрдк рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рд╛рде tomllib рдореЙрдбреНрдпреВрд▓ рд╢рд╛рдорд┐рд▓ рд╣реИред
  • рдЖрд╡рд╢реНрдпрдХ рдФрд░ рд╡реИрдХрд▓реНрдкрд┐рдХ рдлрд╝реАрд▓реНрдб рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯрд╛рдЗрдк рдХрд┐рдП рдЧрдП рд╢рдмреНрджрдХреЛрд╢реЛрдВ (рдЯрд╛рдЗрдкреНрдбрдбрд┐рдХреНрдЯ) рдХреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрддреНрд╡реЛрдВ рдХреЛ рдЖрд╡рд╢реНрдпрдХ рдФрд░ рдЧреИрд░-рдЖрд╡рд╢реНрдпрдХ рд▓реЗрдмрд▓ рдХреЗ рд╕рд╛рде рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рд╕рднреА рдШреЛрд╖рд┐рдд рдлрд╝реАрд▓реНрдб рдЖрд╡рд╢реНрдпрдХ рд╣реИрдВ рдпрджрд┐ рдХреБрд▓ рдкреИрд░рд╛рдореАрдЯрд░ рдЧрд▓рдд рдкрд░ рд╕реЗрдЯ рдирд╣реАрдВ рд╣реИ)ред рдХреНрд▓рд╛рд╕ рдореВрд╡реА (рдЯрд╛рдЗрдкреНрдбрдбрд┐рдХреНрдЯ): рд╢реАрд░реНрд╖рдХ: str рд╡рд░реНрд╖: NotRequired[int] m1: рдореВрд╡реА = {"рд╢реАрд░реНрд╖рдХ": "рдмреНрд▓реИрдХ рдкреИрдВрдерд░", "рд╡рд░реНрд╖": 2018} # рдареАрдХ m2: рдореВрд╡реА = {"рд╢реАрд░реНрд╖рдХ": "рд╕реНрдЯрд╛рд░ рд╡рд╛рд░реНрд╕" } # рдареАрдХ рд╣реИ (рд╡рд░реНрд╖ рдлрд╝реАрд▓реНрдб рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИ) рдПрдо3: рдореВрд╡реА = {тАЬрд╡рд░реНрд╖тАЭ: 2022} # рддреНрд░реБрдЯрд┐, рдЖрд╡рд╢реНрдпрдХ рд╢реАрд░реНрд╖рдХ рдлрд╝реАрд▓реНрдб рднрд░рд╛ рдирд╣реАрдВ рдЧрдпрд╛ рд╣реИ)
  • рдЯрд╛рд╕реНрдХрдЧреНрд░реБрдк рдХреНрд▓рд╛рд╕ рдХреЛ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рд╕рдВрджрд░реНрдн рдкреНрд░рдмрдВрдзрдХ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде рдПрд╕рд┐рдВрдХрд┐рдпреЛ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рдореВрд╣ рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИред рдХрд┐рд╕реА рд╕рдореВрд╣ рдореЗрдВ рдХрд╛рд░реНрдп рдЬреЛрдбрд╝рдирд╛ create_task() рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред async def main(): async with asyncio.TaskGroup() as tg: Task1 = tg.create_task(some_coro(...)) Task2 = tg.create_task(another_coro(...)) print("рджреЛрдиреЛрдВ рдХрд╛рд░реНрдп рдЕрдм рдкреВрд░реЗ рд╣реЛ рдЧрдП рд╣реИрдВ .")
  • рдХрдХреНрд╖рд╛рдУрдВ, рд╡рд┐рдзрд┐рдпреЛрдВ рдФрд░ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП @dataclass_transform рдбреЗрдХреЛрд░реЗрдЯрд░ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛, рдЬрдм рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╕реНрдерд┐рд░ рдкреНрд░рдХрд╛рд░ рдХреА рдЬрд╛рдБрдЪ рдкреНрд░рдгрд╛рд▓реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЗрд▓рд╛рдЬ рдХрд░рддреА рд╣реИ рдЬреИрд╕реЗ рдХрд┐ @dataclasses.dataclass рдбреЗрдХреЛрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реА рд╣реЛред рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдкреНрд░рдХрд╛рд░ рдХреА рдЬрд╛рдБрдЪ рдХрд░рддреЗ рд╕рдордп, CustomerModel рд╡рд░реНрдЧ рдХреЛ @dataclasses.dataclass рдбреЗрдХреЛрд░реЗрдЯрд░ рд╡рд╛рд▓реЗ рд╡рд░реНрдЧ рдХреЗ рд╕рдорд╛рди рд╣реА рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЕрд░реНрдерд╛рддред рдПрдХ __init__ рд╡рд┐рдзрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛ рдЖрдИрдбреА рдФрд░ рдирд╛рдо рдЪрд░ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИред @рдбреЗрдЯрд╛рдХреНрд▓рд╛рд╕_рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдо() рдХреНрд▓рд╛рд╕ рдореЙрдбрд▓рдмреЗрд╕: ... рдХреНрд▓рд╛рд╕ рдХрд╕реНрдЯрдорд░рдореЙрдбрд▓(рдореЙрдбрд▓рдмреЗрд╕): рдЖрдИрдбреА: рдЗрдВрдЯ рдиреЗрдо: рд╕реНрдЯреНрд░
  • рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ, рдкрд░рдорд╛рдгреБ рд╕рдореВрд╣рди ((?>...)) рдФрд░ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдкрд░рд┐рдорд╛рдгрдХ (*+, ++, ?+, {m,n}+) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝реА рдЧрдИ рд╣реИред
  • sys.path рдореЗрдВ рд╕рдВрднрд╛рд╡рд┐рдд рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рдлрд╝рд╛рдЗрд▓ рдкрдереЛрдВ рдХреЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЕрдиреБрд▓рдЧреНрдирдХ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП "-P" рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╡рд┐рдХрд▓реНрдк рдФрд░ PYTHONSAFEPATH рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ред
  • рд╡рд┐рдВрдбреЛрдЬрд╝ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рд▓рд┐рдП py.exe рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдореЗрдВ "-V:" рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рдХрд░ рдХрд╛рдлреА рд╕реБрдзрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред / " рдирд┐рдореНрди рдХреЗ рдЕрд▓рд╛рд╡рд╛ "- . "
  • рд╕реА рдПрдкреАрдЖрдИ рдореЗрдВ рдХрдИ рдореИрдХреНрд░реЛрдЬрд╝ рдХреЛ рдирд┐рдпрдорд┐рдд рдпрд╛ рд╕реНрдерд┐рд░ рдЗрдирд▓рд╛рдЗрди рдлрд╝рдВрдХреНрд╢рдВрд╕ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
  • UU, CGI, рдкрд╛рдЗрдкреНрд╕, рдХреНрд░рд┐рдкреНрдЯ, AIFC, рдЪрдВрдХ, msilib, telnetlib, Audioop, nis, sndhdr, imghdr, nntplib, spwd, xdrlib, cgitb, mailcap, ossaudiodev, рдФрд░ sunau рдореЙрдбреНрдпреВрд▓ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдкрд╛рдпрдерди рдореЗрдВ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред 3.13 рд░рд┐рд▓реАрдЬ. PyUnicode_Encode* рдлрд╝рдВрдХреНрд╢рдВрд╕ рд╣рдЯрд╛ рджрд┐рдП рдЧрдПред

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ