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

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

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

рдХреЗ рдмреАрдЪ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдирд╡рдкреНрд░рд╡рд░реНрддрди рдкрд╛рдпрдерди 3.9 рдореЗрдВ:

  • рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рддрд╛рдирд╛рд╢рд╛рд╣реА рд╡рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╢рдмреНрджрдХреЛрд╢реЛрдВ рдореЗрдВ, рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ рдорд░реНрдЬ рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди "|" рдФрд░ "|=" рдЕрдкрдбреЗрдЯ, рдЬреЛ рд╢рдмреНрджрдХреЛрд╢реЛрдВ рдХреЛ рдорд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд {**d1, **d2} рдФрд░ dict.update рддрд░реАрдХреЛрдВ рдХрд╛ рдкреВрд░рдХ рд╣реИрдВред

    >>> x = {"key1": "value1 from x", "key2": "value2 from x"}
    >>> y = {"key2": "value2 from y", "key3": "value3 from y"}

    >>> рдПрдХреНрд╕ | рдп
    {'key1': 'value1 from x', 'key2': 'value2 from y', 'key3': 'value3 from y'}

    >>>рдп | рдПрдХреНрд╕
    {'рдХреА2': 'рдПрдХреНрд╕ рд╕реЗ рд╡реИрд▓реНрдпреВ2', 'рдХреА3': 'рд╡рд╛рдИ рд╕реЗ рд╡реИрд▓реНрдпреВ3', 'рдХреА1': 'рдПрдХреНрд╕ рд╕реЗ рд╡реИрд▓реНрдпреВ1'}

  • рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рд╕реВрдЪреА, рддрд╛рдирд╛рд╢рд╛рд╣реА рдФрд░ рдЯрдкрд▓ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдореЙрдбреНрдпреВрд▓ рд╕реЗ рдЖрдпрд╛рдд рдХрд┐рдП рдмрд┐рдирд╛ рдЖрдзрд╛рд░ рдкреНрд░рдХрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╡реЗред рдЯрд╛рдЗрдкрд┐рдВрдЧ.рд▓рд┐рд╕реНрдЯ, рдЯрд╛рдЗрдкрд┐рдВрдЧ.рдбрд┐рдХреНрдЯ рдФрд░ рдЯрд╛рдЗрдкрд┐рдВрдЧ.рдЯреНрдпреВрдкрд▓ рдХреЗ рдмрдЬрд╛рдп рдЕрдм рдЖрдк рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
    рдмрд╕ рд╕реВрдЪреА, рдЖрджреЗрд╢ рдФрд░ рдЯреБрдкрд▓:

    defgreet_all(рдирд╛рдо: рд╕реВрдЪреА[str]) -> рдХреЛрдИ рдирд╣реАрдВ:
    рдирд╛рдореЛрдВ рдореЗрдВ рдирд╛рдо рдХреЗ рд▓рд┐рдП:
    рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВ ("рд╣реИрд▓реЛ", рдирд╛рдо)

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

    charType = рдПрдиреЛрдЯреЗрдЯреЗрдб[int, ctype('char')] UnsignedShort = рдПрдиреЛрдЯреЗрдЯреЗрдб[int, struct2.ctype('H')]

  • рдЖрд╡рд╛рдЬ рдзреАрдореА рдХрд░рдирд╛ рдбреЗрдХреЛрд░реЗрдЯрд░ рдХреЗ рд▓рд┐рдП рд╡реНрдпрд╛рдХрд░рдгрд┐рдХ рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ - рдпрджрд┐ рдФрд░ рдЬрдмрдХрд┐ рдмреНрд▓реЙрдХ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдХреЛрдИ рднреА рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдЕрдм рдбреЗрдХреЛрд░реЗрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред рдкрд░рд┐рд╡рд░реНрддрди рдиреЗ PyQt5 рдХреЛрдб рдХреА рдкрдардиреАрдпрддрд╛ рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд╕реБрдзрд╛рд░ рдХрд┐рдпрд╛ рдФрд░ рдЗрд╕ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд░рдЦрд░рдЦрд╛рд╡ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдпрд╛:

    рдпрд╣ рдерд╛:
    рдмрдЯрди_0 = рдмрдЯрди[0] @рдмрдЯрди_0.рдХреНрд▓рд┐рдХ рдХрд┐рдпрд╛ рдЧрдпрд╛.рдХрдиреЗрдХреНрдЯ

    рдЕрдм рдЖрдк рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ:
    @рдмрдЯрди[0].рдХреНрд▓рд┐рдХ рдХрд┐рдпрд╛ рдЧрдпрд╛.рдХрдиреЗрдХреНрдЯ

  • рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд▓рд┐рдП рдЬреЛрдбрд╝рд╛ рдореЙрдбреНрдпреВрд▓ рдЬрд╝реЛрдирдлреЛ, рдЬрд┐рд╕рдореЗрдВ IANA рд╕рдордп рдХреНрд╖реЗрддреНрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдЬрд╛рдирдХрд╛рд░реА рд╢рд╛рдорд┐рд▓ рд╣реИред

    >>> рдЬрд╝реЛрдирдЗрдиреНрдлреЛ рд╕реЗ рдЬрд╝реЛрдирдЗрдиреНрдлреЛ рдЖрдпрд╛рдд рдХрд░реЗрдВ
    >>> рдбреЗрдЯрд╛рдЯрд╛рдЗрдо рд╕реЗ рдЖрдпрд╛рдд рдбреЗрдЯрд╛рдЯрд╛рдЗрдо, рдЯрд╛рдЗрдордбреЗрд▓реНрдЯрд╛
    >>> # рдЧрд░реНрдореА рдХрд╛ рд╕рдордп
    >>> dt = рдбреЗрдЯрд╛рдЯрд╛рдЗрдо(2020, 10, 31, 12, tzinfo=ZoneInfo("рдЕрдореЗрд░рд┐рдХрд╛/рд▓реЙрд╕_рдПрдВрдЬреЗрд▓реНрд╕"))
    >>> рдкреНрд░рд┐рдВрдЯ(рдбреАрдЯреА)
    2020-10-31 12:00:00-07:00

    >>> dt.tzрдирд╛рдо()
    'PDT'

    >>> # рдорд╛рдирдХ рд╕рдордп
    >>> dt += timedelta(рджрд┐рди=7)
    >>> рдкреНрд░рд┐рдВрдЯ(рдбреАрдЯреА)
    2020-11-07 12:00:00-08:00

    >>> рдкреНрд░рд┐рдВрдЯ(dt.tzname())
    рдкреАрдПрд╕рдЯреА

  • рдЬрд┐рд╕рдореЗрдВ рдЧреНрд░рд╛рдлрд▓рд┐рдм рдореЙрдбреНрдпреВрд▓ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдЧреНрд░рд╛рдлрд╝ рдХреА рдЯреЛрдкреЛрд▓реЙрдЬрд┐рдХрд▓ рд╕реЙрд░реНрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдердиред
  • рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдЙрдкрд╕рд░реНрдЧреЛрдВ рдФрд░ рдкрдВрдХреНрддрд┐ рдЕрдВрдд рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреА рдирдИ рд╡рд┐рдзрд┐рдпрд╛рдБ - str.removeprefix(prefix) рдФрд░ str.removesuffix(suffix)ред рд╡рд┐рдзрд┐рдпрд╛рдВ str, рдмрд╛рдЗрдЯреНрд╕, bytearray рдФрд░ Collections.UserString рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдЬреЛрдбрд╝реА рдЧрдИ рд╣реИрдВред

    >>> рдПрд╕ = "рдлреВрдмрд╛рд░"
    >>> s.removeprefix("Foo")
    'рдЫрдбрд╝'

  • рд╢рд╛рдорд┐рд▓ рдирдпрд╛ рдкрд╛рд░реНрд╕рд░ рдЦреВрдВрдЯреА (рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдПрдХреНрд╕рдкреНрд░реЗрд╢рди рдЧреНрд░рд╛рдорд░), рдЬрд┐рд╕рдиреЗ рдкрд╛рд░реНрд╕рд░ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рджрд┐рдпрд╛ рдбрд╛рд▓реВрдБрдЧрд╛(1). рдирдП рдкрд╛рд░реНрд╕рд░ рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рдПрд▓рдПрд▓ (1) рдореЗрдВ рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдХреБрдЫ "рд╣реИрдХ" рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЧрдпрд╛, рдФрд░ рдкрд╛рд░реНрд╕рд░ рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╢реНрд░рдо рд▓рд╛рдЧрдд рдореЗрдВ рдХрд╛рдлреА рдХрдореА рдЖрдИред рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдирдпрд╛ рдкрд╛рд░реНрд╕рд░ рд▓рдЧрднрдЧ рдкрд┐рдЫрд▓реЗ рд╡рд╛рд▓реЗ рдХреЗ рд╕рдорд╛рди рд╕реНрддрд░ рдкрд░ рд╣реИ, рд▓реЗрдХрд┐рди рд▓рдЪреАрд▓реЗрдкрди рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЙрд╕рд╕реЗ рдХрд╛рдлреА рдЖрдЧреЗ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рдирдИ рднрд╛рд╖рд╛ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рдбрд┐рдЬрд╛рдЗрди рдХрд░рддреЗ рд╕рдордп рдЕрдзрд┐рдХ рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдкреБрд░рд╛рдиреЗ рдкрд╛рд░реНрд╕рд░ рдХреЛрдб рдХреЛ рдЕрднреА рдмрд░рдХрд░рд╛рд░ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ "-X Oldparser" рдзреНрд╡рдЬ рдпрд╛ "PYTHONOLDPARSER=1" рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд╛рдкрд╕ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд░рд┐рд▓реАрдЬрд╝ 3.10 рдореЗрдВ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
  • рджреНрд╡рд╛рд░рд╛ рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рдпрд╛ рдЧрдпрд╛ рдореЙрдбреНрдпреВрд▓ рдХреА рд╕реНрдерд┐рддрд┐ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реА рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╡рд┐рдзрд┐рдпреЛрдВ рдХреА рдХреНрд╖рдорддрд╛ рдЬрд┐рд╕рдореЗрдВ рдЙрдиреНрд╣реЗрдВ PyState_FindModule рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореЙрдбреНрдпреВрд▓ рд╕реНрдерд┐рддрд┐ рдХреА рдЦреЛрдЬ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдкреНрд░рддреНрдпрдХреНрд╖ рд╕реВрдЪрдХ рдбреАрд░реЗрдлрд╝рд░реЗрдВрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдкрд░рд┐рд╡рд░реНрддрди рдЖрдкрдХреЛ рдореЙрдбреНрдпреВрд▓ рд╕реНрдерд┐рддрд┐ рдХреА рдЬрд╛рдБрдЪ рдХреЗ рдУрд╡рд░рд╣реЗрдб рдХреЛ рдХрдо рдпрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдорд╛рдкреНрдд рдХрд░рдХреЗ рд╕реА рдореЙрдбреНрдпреВрд▓ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдХрд┐рд╕реА рдореЙрдбреНрдпреВрд▓ рдХреЛ рдХреНрд▓рд╛рд╕ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, C-рдлрд╝рдВрдХреНрд╢рди PyType_FromModuleAndSpec() рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╣реИ, рдореЙрдбреНрдпреВрд▓ рдФрд░ рдЙрд╕рдХреА рд╕реНрдерд┐рддрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, C-рдлрд╝рдВрдХреНрд╢рди PyType_GetModule() рдФрд░ PyType_GetModuleState() рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╣реИрдВ, рдФрд░ рдХреНрд▓рд╛рд╕ рддрдХ рдкрд╣реБрдВрдЪ рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд┐рдзрд┐ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рд╕рдореЗрдВ рдЗрд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╕реА-рдлрдВрдХреНрд╢рди PyCMethod рдФрд░ METH_METHOD рдзреНрд╡рдЬ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╣реИрдВред
  • рдорд▓ рдЬрдорд╛ рдХрд░рдирд╛ рдкрд╣реБрдВрдЪрд╛ рджрд┐рдпрд╛ рд░реАрдПрдирд┐рдореЗрдЯреЗрдб рдСрдмреНрдЬреЗрдХреНрдЯ рд╡рд╛рд▓реЗ рд╕рдВрдЧреНрд░рд╣ рдХреЛ рд▓реЙрдХ рдХрд░рдиреЗ рд╕реЗ, рдЬреЛ рдлрд╝рд╛рдЗрдирд▓рд╛рдЗрдЬрд╝рд░ рдЪрд▓рдиреЗ рдХреЗ рдмрд╛рдж рдмрд╛рд╣рд░реА рд░реВрдк рд╕реЗ рдкрд╣реБрдВрдЪ рдпреЛрдЧреНрдп рд░рд╣рддрд╛ рд╣реИред
  • рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рддрд░реАрдХрд╛ os.pidfd_open, рдЬреЛ рдкреАрдЖрдИрдбреА тАЛтАЛрдкреБрди: рдЙрдкрдпреЛрдЧ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓ рд╕рдмрд╕рд┐рд╕реНрдЯрдо "рдкрд┐рдбрдлрдбреА" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ (рдкрд┐рдбрдлрдб рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдмрджрд▓рддрд╛ рдирд╣реАрдВ рд╣реИ, рдЬрдмрдХрд┐ рдПрдХ рдкреАрдЖрдИрдбреА тАЛтАЛрдЙрд╕ рдкреАрдЖрдИрдбреА тАЛтАЛрд╕реЗ рдЬреБрдбрд╝реА рдореМрдЬреВрджрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ) ).
  • рдпреВрдирд┐рдХреЛрдб рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреЛ рд╕рдВрд╕реНрдХрд░рдг 13.0.0 рдореЗрдВ рдЕрджреНрдпрддрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
  • рд╕рдлрд╛рдпрд╛ рд╕реНрдореГрддрд┐ рд░рд┐рд╕рд╛рд╡ рдЙрд╕реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдкрд╛рдпрдерди рджреБрднрд╛рд╖рд┐рдпрд╛ рдХреЛ рдкреБрди: рдкреНрд░рд╛рд░рдВрдн рдХрд░рддреЗ рд╕рдордпред
  • рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдкреНрд░рдХрд╛рд░ рд╢реНрд░реЗрдгреА, рдЯреБрдкрд▓, рд╕реЗрдЯ, рдлреНрд░реЛрдЬрд╝реЗрдирд╕реЗрдЯ, рд╕реВрдЪреА рдФрд░ рдбрд┐рдХреНрдЯ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рд╕реА рднрд╛рд╖рд╛ рдореЗрдВ рд▓рд┐рдЦреА рд╡рд╕реНрддреБрдУрдВ рддрдХ рддреЗрдЬреА рд╕реЗ рдкрд╣реБрдВрдЪ рдХреЗ рд▓рд┐рдП рд╡реЗрдХреНрдЯрд░рдХреЙрд▓ рд╢реЙрд░реНрдЯрдХрдЯ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗред
  • _abc, Audioop, _bz2, _codecs, _contextvars, _crypt, _functools, _json, _locale, рдСрдкрд░реЗрдЯрд░, рд╕рдВрд╕рд╛рдзрди, рд╕рдордп рдФрд░ _weakref рдореЙрдбреНрдпреВрд▓ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрдИ рдЪрд░рдгреЛрдВ рдореЗрдВ рдЖрд░рдВрднреАрдХрд░рдг.
  • рдорд╛рдирдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЙрдбреНрдпреВрд▓ рдСрдбрд┐рдпреЛрдУрдк, рдПрдПрд╕рдЯреА, рдЬреАрдЖрд░рдкреА, _рд╣реИрд╢рд▓рд┐рдм, рдкреАрдбрдмреНрд▓реНрдпреВрдбреА, _рдкреЙрдЬрд╝рд┐рдХреНрд╕рд╕рдмрдкреНрд░реЛрд╕реЗрд╕, рд░реИрдВрдбрдо, рд╕реЗрд▓реЗрдХреНрдЯ, рд╕реНрдЯреНрд░рдХреНрдЪрд░, рдЯрд░реНрдорд┐рдпреЛрд╕ рдФрд░ рдЬрд╝реНрд▓рд┐рдм рдХреЛ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рд╕реНрдерд┐рд░ рдПрдмреАрдЖрдИ, рдЬреЛ рдкрд╛рдпрдерди рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдореЙрдбреНрдпреВрд▓ рдХреА рдЕрд╕реЗрдВрдмрд▓реА рдХреА рд╕рдВрдЪрд╛рд▓рди рдХреНрд╖рдорддрд╛ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ (рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рддреЗ рд╕рдордп, рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдореЙрдбреНрдпреВрд▓ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдФрд░ 3.9 рдХреЗ рд▓рд┐рдП рд╕рдВрдХрд▓рд┐рдд рдореЙрдбреНрдпреВрд▓ 3.10 рд╢рд╛рдЦрд╛ рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗ)ред
  • рд╕рдВрднрд╛рд╡рд┐рдд рд╕реБрд░рдХреНрд╖рд╛ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг asyncio рдореЙрдбреНрдпреВрд▓ рдиреЗ reuse_address рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреЛ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛ рд╣реИ (рд▓рд┐рдирдХреНрд╕ рдкрд░ UDP рдХреЗ рд▓рд┐рдП SO_REUSEADDR рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рд╕реБрдирдиреЗ рд╡рд╛рд▓реЗ рд╕реЙрдХреЗрдЯ рдХреЛ UDP рдкреЛрд░реНрдЯ рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ)ред
  • рдирдП рдЕрдиреБрдХреВрд▓рди рдЬреЛрдбрд╝реЗ рдЧрдП рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдорд▓реНрдЯреА-рдереНрд░реЗрдбреЗрдб рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рд╕рд┐рдЧреНрдирд▓ рд╣реИрдВрдбрд▓рд░ рдХрд╛ рдмреЗрд╣рддрд░ рдкреНрд░рджрд░реНрд╢рди, рдлреНрд░реАрдмреАрдПрд╕рдбреА рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рд╕рдмрдкреНрд░реЛрд╕реЗрд╕ рдореЙрдбреНрдпреВрд▓ рдХреА рдмрдврд╝реА рд╣реБрдИ рдЧрддрд┐, рдФрд░ рдЕрд╕реНрдерд╛рдпреА рдЪрд░ рдХрд╛ рддреЗрдЬрд╝ рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ (рдПрдХреНрд╕рдкреНрд░реЗрд╢рди рдореЗрдВ y рдХреЗ рд▓рд┐рдП рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдореЗрдВ рдПрдХ рдЪрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛) ]" рдЕрдм рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ "y = expr" ") рдХреЗ рд╕рдорд╛рди рд╣реА рдХреНрд░рд┐рдпрд╛рд╢реАрд▓ рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЕрдзрд┐рдХрд╛рдВрд╢ рдкрд░реАрдХреНрд╖рдг рдкреНрд░рджрд░реНрд╢рди рд╢рд╛рдЦрд╛ 3.8 рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдХрдореА (рд╕реНрдкреАрдбрдЕрдк рдХреЗрд╡рд▓ рд░рд╛рдЗрдЯ_рд▓реЛрдХрд▓ рдФрд░ рд░рд╛рдЗрдЯ_рдбреЗрдХ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рджреЗрдЦрд╛ рдЧрдпрд╛ рд╣реИ):

    рдкрд╛рдпрдерди рд╕рдВрд╕реНрдХрд░рдг 3.4 3.5 3.6 3.7 3.8 3.9
    тАФтАФтАФтАФтАФ тАФ тАФ тАФ тАФ тАФ тАФ

    рдЪрд░ рдФрд░ рд╡рд┐рд╢реЗрд╖рддрд╛ рдкрдврд╝рдиреЗ рдХреА рдкрд╣реБрдВрдЪ:
    read_local 7.1 7.1 5.4 5.1 3.9 4.0
    read_nonlocal 7.1 8.1 5.8 5.4 4.4 4.8
    read_global 15.5 19.0 14.3 13.6 7.6 7.7
    read_buildin 21.1 21.6 18.5 19.0 7.5 7.7
    read_classvar_from_class 25.6 26.5 20.7 19.5 18.4 18.6
    read_classvar_from_instance 22.8 23.5 18.8 17.1 16.4 20.1
    read_instancevar 32.4 33.1 28.0 26.3 25.4 27.7
    read_instancevar_slots 27.8 31.3 20.8 20.8 20.2 24.5
    read_namedtuple 73.8 57.5 45.0 46.8 18.4 23.2
    рд░реАрдб_рдмрд╛рдЙрдВрдбрдореЗрдердб 37.6 37.9 29.6 26.9 27.7 45.9

    рдЪрд░ рдФрд░ рд╡рд┐рд╢реЗрд╖рддрд╛ рд▓реЗрдЦрди рдкрд╣реБрдВрдЪ:
    рд░рд╛рдЗрдЯ_рд▓реЛрдХрд▓ 8.7 9.3 5.5 5.3 4.3 4.2
    рд░рд╛рдЗрдЯ_рдиреЙрдирд▓реЛрдХрд▓ 10.5 11.1 5.6 5.5 4.7 4.9
    рд░рд╛рдЗрдЯ_рдЧреНрд▓реЛрдмрд▓ 19.7 21.2 18.0 18.0 15.8 17.2
    рд░рд╛рдЗрдЯ_рдХреНрд▓рд╛рд╕рд╡рд░ 92.9 96.0 104.6 102.1 39.2 43.2
    рд░рд╛рдЗрдЯ_рдЗрдВрд╕реНрдЯреЗрдВрд╕рд╡рд░ 44.6 45.8 40.0 38.9 35.5 40.7
    рд░рд╛рдЗрдЯ_рдЗрдВрд╕реНрдЯреЗрдВрд╕рд╡рд░_рд╕реНрд▓реЙрдЯреНрд╕ 35.6 36.1 27.3 26.6 25.7 27.7

    рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдкрдврд╝рдиреЗ рдХреА рдкрд╣реБрдВрдЪ:
    read_list 24.2 24.5 20.8 20.8 19.0 21.1
    read_deque 24.7 25.5 20.2 20.6 19.8 21.6
    read_dict 24.3 25.7 22.3 23.0 21.0 22.5
    read_strdict 22.6 24.3 19.5 21.2 18.9 21.6

    рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рд▓реЗрдЦрди рдкрд╣реБрдВрдЪ:
    рд░рд╛рдЗрдЯ_рд▓рд┐рд╕реНрдЯ 27.1 28.5 22.5 21.6 20.0 21.6
    рд░рд╛рдЗрдЯ_рдбреЗрдХ 28.7 30.1 22.7 21.8 23.5 23.2
    рд░рд╛рдЗрдЯ_рдбрд┐рдХреНрдЯ 31.4 33.3 29.3 29.2 24.7 27.8
    рд░рд╛рдЗрдЯ_рд╕реНрдЯреНрд░рдбрд┐рдХреНрдЯ 28.4 29.9 27.5 25.2 23.1 29.8

    рд╕реНрдЯреИрдХ (рдпрд╛ рдХрддрд╛рд░) рд╕рдВрдЪрд╛рд▓рди:
    рд╕реВрдЪреА_рдЬреЛрдбрд╝реЗрдВ_рдкреЙрдк 93.4 112.7 75.4 74.2 50.8 53.9
    рдбреЗрдХ_рдПрдкреЗрдВрдб_рдкреЙрдк 43.5 57.0 49.4 49.2 42.5 45.5
    deque_append_popleft 43.7 57.3 49.7 49.7 42.8 45.5

    рдЯрд╛рдЗрдорд┐рдВрдЧ рд▓реВрдк:
    рд▓реВрдк_рдУрд╡рд░рд╣реЗрдб 0.5 0.6 0.4 0.3 0.3 0.3

  • рд╣рдЯрд╛рдП рдЧрдП рдХрдИ Python 2.7 рдлрд╝рдВрдХреНрд╢рдВрд╕ рдФрд░ рд╡рд┐рдзрд┐рдпрд╛рдБ рдЬрд┐рдиреНрд╣реЗрдВ рдкрд╣рд▓реЗ рдмрд╣рд┐рд╖реНрдХреГрдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдкрд┐рдЫрд▓реА рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ DeprecationWarning рд╣реБрдИ рдереА, рдЬрд┐рд╕рдореЗрдВ html.parser.HTMLParser рдореЗрдВ unescape() рд╡рд┐рдзрд┐ рднреА рд╢рд╛рдорд┐рд▓ рдереА,
    array.array рдореЗрдВ tostring() рдФрд░ fromstring(), threading.Thread рдореЗрдВ isAlive(), ElementTree рдореЗрдВ getchildren() рдФрд░ getiterator(), sys.getcheckinterval(), sys.setcheckinterval(), asyncio.Task.current_task(), asyncio.Task.all_tasks(), Base64.encodestring() рдФрд░ Base64.decodestring()ред

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

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