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

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

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

рдпрд╛рдкреИрдХреА рдЬреЛрдбрд▓реЗ рдирд╡рдХрд▓реНрдкрдирд╛ Python 3.9 рдордзреНрдпреЗ:

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

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

    >>> x | y
    {'key1': 'value1 from x', 'key2': 'value2 from y', 'key3': 'value3 from y'}

    >>> рдп | x
    {'key2': 'value2 from x', 'key3': 'value3 from y', 'key1': 'value1 from x'}

  • рдкреНрд░рдХрд╛рд░рд╛рдВрдЪреНрдпрд╛ рдЕрдВрдЧрднреВрдд рд╕рдВрдЧреНрд░рд╣рд╛рдордзреНрдпреЗ рд╕реВрдЪреА, рдбрд┐рдХреНрдЯ рдЖрдгрд┐ рдЯреНрдпреБрдкрд▓ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗ, рдЬреЗ рдЯрд╛рдпрдкрд┐рдВрдЧ рдореЙрдбреНрдпреВрд▓рдордзреВрди рдЖрдпрд╛рдд рди рдХрд░рддрд╛ рдмреЗрд╕ рдкреНрд░рдХрд╛рд░ рдореНрд╣рдгреВрди рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рдК рд╢рдХрддрд╛рдд. рддреНрдпрд╛. typing.list, typing.Dict рдЖрдгрд┐ typing.Tuple рдРрд╡рдЬреА рддреБрдореНрд╣реА рдЖрддрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реВ рд╢рдХрддрд╛
    рдлрдХреНрдд рдпрд╛рджреА, dict рдЖрдгрд┐ tuple:

    def greet_all(рдирд╛рд╡реЗ: рдпрд╛рджреА[str]) -> рдХрд╛рд╣реАрд╣реА рдирд╛рд╣реА:
    рдирд╛рд╡рд╛рдВрдордзреНрдпреЗ рдирд╛рд╡рд╛рд╕рд╛рдареА:
    рдкреНрд░рд┐рдВрдЯ ("рд╣реЕрд▓реЛ", рдирд╛рд╡)

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

    charType = рднрд╛рд╖реНрдп [int, ctype("char")] UnsignedShort = рднрд╛рд╖реНрдп рдХреЗрд▓реЗрд▓реЗ[int, struct2.ctype('H')]

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

    рд╣реЛрддреЗ:
    button_0 = рдмрдЯрдгреЗ[0] @button_0.clicked.connect

    рдЖрддрд╛ рддреБрдореНрд╣реА рд▓рд┐рд╣реВ рд╢рдХрддрд╛:
    @buttons[0].clicked.connect

  • рдорд╛рдирдХ рд▓рд╛рдпрдмреНрд░рд░реАрдХрдбреЗ рдЬреЛрдбрд▓реЗ рдореЙрдбреНрдпреВрд▓ рдЭреЛрдирдирд┐рдлреЛ, рдЬреНрдпрд╛рдордзреНрдпреЗ IANA рдЯрд╛рдЗрдо рдЭреЛрди рдбреЗрдЯрд╛рдмреЗрд╕рдордзреАрд▓ рдорд╛рд╣рд┐рддреА рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗ.

    >>> zoneinfo рд╡рд░реВрди ZoneInfo рдЖрдпрд╛рдд рдХрд░рд╛
    >>> datetime рдЖрдпрд╛рдд datetime, timedelta рд╡рд░реВрди
    >>> #рдЙрдиреНрд╣рд╛рд│реНрдпрд╛рдЪреА рд╡реЗрд│
    >>> dt = datetime(2020, 10, 31, 12, tzinfo=ZoneInfo("America/Los_Angeles"))
    >>> рдкреНрд░рд┐рдВрдЯ (рджрд┐.)
    2020-10-31 12:00:00-07:00

    >>> dt.tzname()
    'рдкреАрдбреАрдЯреА'

    >>> # рдкреНрд░рдорд╛рдг рд╡реЗрд│
    >>> dt += timedelta(рджрд┐рд╡рд╕=7)
    >>> рдкреНрд░рд┐рдВрдЯ (рджрд┐.)
    2020-11-07 12:00:00-08:00

    >>> рдкреНрд░рд┐рдВрдЯ(dt.tzname())
    PST

  • graphlib рдореЙрдбреНрдпреВрд▓ рдЬреЛрдбрд▓реЗ, рдЬреНрдпрд╛рдордзреНрдпреЗ рд▓рд╛рдЧреВ рдХреЗрд▓реЗ рдЖрд▓реЗрдЦрд╛рдВрдЪреНрдпрд╛ рдЯреЛрдкреЛрд▓реЙрдЬрд┐рдХрд▓ рдХреНрд░рдорд╡рд╛рд░реАрд╕рд╛рдареА рд╕рдорд░реНрдерди.
  • рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдЙрдкрд╕рд░реНрдЧ рдЖрдгрд┐ рд░реЗрд╖рд╛ рд╕рдорд╛рдкреНрддреА рдХрд╛рдвреВрди рдЯрд╛рдХрдгреНрдпрд╛рд╕рд╛рдареА рдирд╡реАрди рдкрджреНрдзрддреА - str.removeprefix(рдЙрдкрд╕рд░реНрдЧ) рдЖрдгрд┐ str.removesuffix(рдкреНрд░рддреНрдпрдп). str, bytes, bytearray рдЖрдгрд┐ collections.UserString рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕рдордзреНрдпреЗ рдкрджреНрдзрддреА рдЬреЛрдбрд▓реНрдпрд╛ рдЧреЗрд▓реНрдпрд╛ рдЖрд╣реЗрдд.

    >>> s = "FooBar"
    >>> s.removeprefix("Foo")
    'рдмрд╛рд░'

  • рд╕рд╣рднрд╛рдЧреА рдирд╡реАрди рдкрд╛рд░реНрд╕рд░ рдирд┐рдорд┐рддреНрдд (рдЕрднрд┐рд╡реНрдпрдХреНрддреА рд╡реНрдпрд╛рдХрд░рдг рдкрд╛рд░реНрд╕рд┐рдВрдЧ), рдЬреНрдпрд╛рдиреЗ рдкрд╛рд░реНрд╕рд░рдЪреА рдЬрд╛рдЧрд╛ рдШреЗрддрд▓реА LL(1). рдирд╡реАрди рдкрд╛рд░реНрд╕рд░рдЪреНрдпрд╛ рд╡рд╛рдкрд░рд╛рдореБрд│реЗ LL(1) рдордзреАрд▓ рдирд┐рд░реНрдмрдВрдзрд╛рдВрдирд╛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реНрдпрд╛ рдЬрд╛рдгрд╛рд░реНтАНрдпрд╛ рдХрд╛рд╣реА тАЬрд╣реЕрдХтАЭрдкрд╛рд╕реВрди рдореБрдХреНрдд рд╣реЛрдгреЗ рд╢рдХреНрдп рдЭрд╛рд▓реЗ рдЖрдгрд┐ рдкрд╛рд░реНрд╕рд░ рд░рд╛рдЦрдгреНрдпрд╛рд╕рд╛рдареА рд╢реНрд░рдорд┐рдХ рдЦрд░реНрдЪрд╛рдд рд▓рдХреНрд╖рдгреАрдп рдШрдЯ рдЭрд╛рд▓реА. рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрдЪреНрдпрд╛ рдмрд╛рдмрддреАрдд, рдирд╡реАрди рдкрд╛рд░реНрд╕рд░ рдЕрдВрджрд╛рдЬреЗ рдорд╛рдЧреАрд▓ рд╕рд╛рд░рдЦреНрдпрд╛рдЪ рд╕реНрддрд░рд╛рд╡рд░ рдЖрд╣реЗ, рдкрд░рдВрддреБ рд▓рд╡рдЪрд┐рдХрддреЗрдЪреНрдпрд╛ рдмрд╛рдмрддреАрдд рддреЗ рд▓рдХреНрд╖рдгреАрдпрд░реАрддреНрдпрд╛ рдкреБрдвреЗ рдЖрд╣реЗ, рдЬреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдирд╡реАрди рднрд╛рд╖рд╛ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ рдбрд┐рдЭрд╛рдЗрди рдХрд░рддрд╛рдирд╛ рдЕрдзрд┐рдХ рдореЛрдХрд│реЗрдкрдгрд╛рдЪреА рдЕрдиреБрдорддреА рджреЗрддреЗ. рдЬреБрдирд╛ рдкрд╛рд░реНрд╕рд░ рдХреЛрдб рдЖрддреНрддрд╛рд╕рд╛рдареА рд░рд╛рдЦреВрди рдареЗрд╡рд▓рд╛ рдЖрд╣реЗ рдЖрдгрд┐ "-X oldparser" рдзреНрд╡рдЬ рдХрд┐рдВрд╡рд╛ "PYTHONOLDPARSER=1" рдкрд░реНрдпрд╛рд╡рд░рдг рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓ рд╡рд╛рдкрд░реВрди рдкрд░рдд рдХреЗрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ, рдкрд░рдВрддреБ рд░рд┐рд▓реАрдЬ 3.10 рдордзреНрдпреЗ рдХрд╛рдврд▓рд╛ рдЬрд╛рдИрд▓.
  • рдкреБрд░рд╡рд┐рд▓реЗ PyState_FindModule рдлрдВрдХреНрд╢рди рд╡рд╛рдкрд░реВрди рдореЙрдбреНрдпреВрд▓ рд╕реНрдерд┐рддреА рд╢реЛрдзрдгреНрдпрд╛рдРрд╡рдЬреА рдбрд╛рдпрд░реЗрдХреНрдЯ рдкреЙрдЗрдВрдЯрд░ рдбреАрд░реЗрдлрд░рдиреНрд╕ рд╡рд╛рдкрд░реВрди рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рдореЙрдбреНрдпреВрд▓реНрд╕рдЪреНрдпрд╛ рд╕реНрдерд┐рддреАрдд рдкреНрд░рд╡реЗрд╢ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА C рд╡рд┐рд╕реНрддрд╛рд░ рдкрджреНрдзрддреАрдВрдЪреА рдХреНрд╖рдорддрд╛. рдмрджрд▓рд╛рдореБрд│реЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдореЙрдбреНрдпреВрд▓рдЪреА рд╕реНрдерд┐рддреА рддрдкрд╛рд╕рдгреНрдпрд╛рдЪреЗ рдУрд╡реНрд╣рд░рд╣реЗрдб рдХрдореА рдХрд░реВрди рдХрд┐рдВрд╡рд╛ рдкреВрд░реНрдгрдкрдгреЗ рдХрд╛рдвреВрди рдЯрд╛рдХреВрди C рдореЙрдбреНрдпреВрд▓реНрд╕рдЪреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╡рд╛рдврд╡рддрд╛ рдпреЗрддреЗ. рд╡рд░реНрдЧрд╛рд╢реА рдореЙрдбреНрдпреВрд▓ рд╕рдВрдмрджреНрдз рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, C-рдлрдВрдХреНрд╢рди PyType_FromModuleAndSpec() рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдЖрд╣реЗ, рдореЙрдбреНрдпреВрд▓ рдЖрдгрд┐ рддреНрдпрд╛рдЪреА рд╕реНрдерд┐рддреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, C-рдлрдВрдХреНрд╢рдиреНрд╕ PyType_GetModule() рдЖрдгрд┐ PyType_GetModuleState() рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдЖрд╣реЗрдд, рдЖрдгрд┐ рдПрдХ рдкрджреНрдзрдд рдкреНрд░рджрд╛рди рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХреНрд▓рд╛рд╕ рдЬреНрдпрд╛рдордзреНрдпреЗ рддреЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗ, рд╕реА-рдлрдВрдХреНрд╢рди PyCMethod рдЖрдгрд┐ METH_METHOD рдзреНрд╡рдЬ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдЖрд╣реЗрдд. .
  • рдХрдЪрд░рд╛ рдЧреЛрд│рд╛ рдХрд░рдгрд╛рд░рд╛ рд╡рд┐рддрд░рд┐рдд рдлрд╛рдпрдирд▓рд▓рд╛рдпрдЭрд░ рд░рди рдЭрд╛рд▓реНрдпрд╛рдирдВрддрд░ рдмрд╛рд╣реЗрд░реВрди рдкреНрд░рд╡реЗрд╢ рдХрд░рдгреНрдпрд╛рдпреЛрдЧреНрдп рд░рд╛рд╣рдгрд╛рд░реНтАНрдпрд╛ рд░реАрдПрдирд┐рдореЗрдЯреЗрдб рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд▓реЙрдХрд┐рдВрдЧ рдХрд▓реЗрдХреНрд╢рдирдкрд╛рд╕реВрди.
  • рдЬреЛрдбрд▓реЗрд▓реА рдкрджреНрдзрдд os.pidfd_open, рдЬреЗ рдкреАрдЖрдпрдбреА рдкреБрдирд░реНрд╡рд╛рдкрд░ рдкрд░рд┐рд╕реНрдерд┐рддреА рд╣рд╛рддрд╛рд│рдгреНрдпрд╛рд╕рд╛рдареА рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдирд▓ рдЙрдкрдкреНрд░рдгрд╛рд▓реА "pidfd" рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ (pidfd рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рдХреНрд░рд┐рдпреЗрд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдЖрд╣реЗ рдЖрдгрд┐ рдмрджрд▓рдд рдирд╛рд╣реА, рддрд░ PID рд╢реА рд╕рдВрдмрдВрдзрд┐рдд рд╡рд░реНрддрдорд╛рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕рдВрдкреБрд╖реНрдЯрд╛рдд рдЖрд▓реНрдпрд╛рдирдВрддрд░ PID рджреБрд╕рд░реНтАНрдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпреЗрд╢реА рд╕рдВрдмрджреНрдз рдХреЗрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ. ).
  • рдпреБрдирд┐рдХреЛрдб рддрдкрд╢реАрд▓рд╛рд╕рд╛рдареА рд╕рдорд░реНрдерди рдЖрд╡реГрддреНрддреА 13.0.0 рд╡рд░ рдЕрджреНрдпрддрдирд┐рдд рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ.
  • рджреВрд░ рдХреЗрд▓реЗ рдореЗрдорд░реА рдЧрд│рддреА рддреНрдпрд╛рдЪ рдкреНрд░рдХреНрд░рд┐рдпреЗрдд рдкрд╛рдпрдерди рдЗрдВрдЯрд░рдкреНрд░рд┐рдЯрд░ рдкреБрдиреНрд╣рд╛ рд╕реБрд░реВ рдХрд░рддрд╛рдирд╛.
  • рдЕрдВрдЧрднреВрдд рдкреНрд░рдХрд╛рд░ рд╢реНрд░реЗрдгреА, рдЯреНрдпреВрдкрд▓, рд╕реЗрдЯ, рдлреНрд░реЛрдЭрдирд╕реЗрдЯ, рд╕реВрдЪреА рдЖрдгрд┐ рдбрд┐рдХреНрдЯрдЪреЗ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рдСрдкреНрдЯрд┐рдорд╛рдЗрдЭ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ. рд▓рд╛рдЧреВ рдХреЗрд▓реЗ рд╕реА рднрд╛рд╖реЗрдд рд▓рд┐рд╣рд┐рд▓реЗрд▓реНрдпрд╛ рд╡рд╕реНрддреВрдВрд╡рд░ рдЬрд▓рдж рдкреНрд░рд╡реЗрд╢ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡реЗрдХреНрдЯрд░рдХреЙрд▓ рд╢реЙрд░реНрдЯрдХрдЯ рдкреНрд░реЛрдЯреЛрдХреЙрд▓рдЪрд╛ рд╡рд╛рдкрд░ рдХрд░реВрди.
  • рдореЙрдбреНрдпреВрд▓реНрд╕ _abc, audioop, _bz2, _codecs, _contextvars, _crypt, _functools, _json, _locale, operator, рд╕рдВрд╕рд╛рдзрди, рд╡реЗрд│ рдЖрдгрд┐ _weakref рд▓реЛрдб рдХреЗрд▓реЗ рдЖрд╣реЗрдд рдЕрдиреЗрдХ рдЯрдкреНрдкреНрдпрд╛рдд рдЖрд░рдВрдн.
  • рдорд╛рдирдХ рд▓рд╛рдпрдмреНрд░рд░реА рдореЙрдбреНрдпреВрд▓реНрд╕ audioop, ast, grp, _hashlib, pwd, _posixsubprocess, рдпрд╛рджреГрдЪреНрдЫрд┐рдХ, рдирд┐рд╡рдбрд╛, рд╕реНрдЯреНрд░рдХреНрдЪрд░, рдЯрд░реНрдорд┐рдУрд╕ рдЖрдгрд┐ zlib рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗрдд рд╕реНрдерд┐рд░ ABI, рдЬреЗ рдкрд╛рдпрдердирдЪреНрдпрд╛ рд╡рд┐рд╡рд┐рдз рдЖрд╡реГрддреНрддреНрдпрд╛рдВрд╕рд╛рдареА рд╡рд┐рд╕реНрддрд╛рд░ рдореЙрдбреНрдпреВрд▓реНрд╕рдЪреНрдпрд╛ рдЕрд╕реЗрдВрдмреНрд▓реАрдЪреНрдпрд╛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрдЪреНрдпрд╛ рд╕рдорд╕реНрдпреЗрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рддреЗ (рдЖрд╡реГрддреНрддреА рдЕрджреНрдпрддрдирд┐рдд рдХрд░рддрд╛рдирд╛, рд╡рд┐рд╕реНрддрд╛рд░ рдореЙрдбреНрдпреВрд▓реНрд╕рдЪреА рдкреБрдирд░реНрдмрд╛рдВрдзрдгреА рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╛рд╣реА рдЖрдгрд┐ 3.9 рд╕рд╛рдареА рд╕рдВрдХрд▓рд┐рдд рдХреЗрд▓реЗрд▓реЗ рдореЙрдбреНрдпреВрд▓ 3.10 рд╢рд╛рдЦреЗрдд рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рд╕ рд╕рдХреНрд╖рдо рдЕрд╕рддреАрд▓).
  • asyncio рдореЙрдбреНрдпреВрд▓рдиреЗ рд╕рдВрднрд╛рд╡реНрдп рд╕реБрд░рдХреНрд╖рд╛ рд╕рдорд╕реНрдпрд╛рдВрдореБрд│реЗ reuse_address рдкреЕрд░рд╛рдореАрдЯрд░рд╕рд╛рдареА рд╕рдорд░реНрдерди рдирд╛рдкрд╕рдВрдд рдХреЗрд▓реЗ рдЖрд╣реЗ (Linux рд╡рд░ UDP рд╕рд╛рдареА SO_REUSEADDR рд╡рд╛рдкрд░рдгреЗ рд╡рд┐рд╡рд┐рдз рдкреНрд░рдХреНрд░рд┐рдпрд╛рдВрдирд╛ UDP рдкреЛрд░реНрдЯрд╡рд░ рдРрдХрдгреНрдпрд╛рдЪреЗ рд╕реЙрдХреЗрдЯ рд╕рдВрд▓рдЧреНрди рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ).
  • рдирд╡реАрди рдСрдкреНрдЯрд┐рдорд╛рдпрдЭреЗрд╢рди рдЬреЛрдбрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗрдд, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдорд▓реНрдЯреА-рдереНрд░реЗрдбреЗрдб рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕рдордзреНрдпреЗ рд╕рд┐рдЧреНрдирд▓ рд╣рдБрдбрд▓рд░реНрд╕рдЪреЗ рд╕реБрдзрд╛рд░рд┐рдд рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди, рдлреНрд░реАрдмреАрдПрд╕рдбреА рд╡рд╛рддрд╛рд╡рд░рдгрд╛рддреАрд▓ рд╕рдмрдкреНрд░реЛрд╕реЗрд╕ рдореЙрдбреНрдпреВрд▓рдЪрд╛ рд╡реЗрдЧ рд╡рд╛рдврд╡рдгреЗ рдЖрдгрд┐ рддрд╛рддреНрдкреБрд░рддреЗ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕рдЪреЗ рдЬрд▓рдж рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ (рдПрдХреНрд╕рдкреНрд░реЗрд╢рдирдордзреНрдпреЗ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓ рдирд┐рдпреБрдХреНрдд рдХрд░рдгреЗ "рдпрд╕рд╛рдареА [рдПрдХреНрд╕рдкреНрд░реЗрд╢рди) ]тАЭ рдЖрддрд╛ тАЬy = exprтАЭ ") рдпрд╛ рдЕрднрд┐рд╡реНрдпрдХреНрддреАрдкреНрд░рдорд╛рдгреЗ рдХрд╛рд░реНрдпрдХреНрд╖рдо рдЖрд╣реЗ. рд╕рд░реНрд╡рд╕рд╛рдзрд╛рд░рдгрдкрдгреЗ, рдмрд╣реБрддреЗрдХ рдЪрд╛рдЪрдгреНрдпрд╛ рджрд╛рдЦрд╡рд╛ рд╢рд╛рдЦрд╛ 3.8 рдЪреНрдпрд╛ рддреБрд▓рдиреЗрдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрдд рдШрдЯ (рд╕реНрдкреАрдбрдЕрдк рдлрдХреНрдд рд░рд╛рдЗрдЯ_рд▓реЛрдХрд▓ рдЖрдгрд┐ рд░рд╛рдпрдЯ_рдбреЗрдХ рдЪрд╛рдЪрдгреНрдпрд╛рдВрдордзреНрдпреЗ рджрд┐рд╕реВрди рдпреЗрддреЛ):

    рдкрд╛рдпрдерди рдЖрд╡реГрддреНрддреА 3.4 3.5 3.6 3.7 3.8 3.9
    тАФтАФтАФтАФтАФтАФтАФтАФтАФтАФтАФ

    рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓ рдЖрдгрд┐ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╡рд╛рдЪрди рдкреНрд░рд╡реЗрд╢:
    рд╡рд╛рдЪрд╛_рд╕реНрдерд╛рдирд┐рдХ рен.рез рен.рез рел.рек рел.рез рей.реп рек.реж
    рд╡рд╛рдЪрд╛_рдЧреИрд░-рд╕реНрдерд╛рдирд┐рдХ 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
    рд░реАрдб_рдмрд┐рд▓реНрдЯрд┐рди 21.1 21.6 18.5 19.0 7.5 7.7
    рд╡рд╛рдЪрд╛_рд╡рд░реНрдЧ_рдордзреВрди_рд╡рд░реНрдЧ 25.6 26.5 20.7 19.5 18.4 18.6
    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
    write_global 19.7 21.2 18.0 18.0 15.8 17.2
    рд▓реЗрдЦрди_рд╡рд░реНрдЧ репреи.реп репрем.реж резрежрек.рем резрежреи.рез рейреп.реи рекрей.реи
    write_instancevar 44.6 45.8 40.0 38.9 35.5 40.7
    write_instancevar_slots 35.6 36.1 27.3 26.6 25.7 27.7

    рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рд╡рд╛рдЪрди рдкреНрд░рд╡реЗрд╢:
    рд╡рд╛рдЪрди_рд╕реВрдЪреА 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
    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

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

    рд╕реНрдЯреЕрдХ (рдХрд┐рдВрд╡рд╛ рд░рд╛рдВрдЧ) рдСрдкрд░реЗрд╢рдиреНрд╕:
    list_append_pop 93.4 112.7 75.4 74.2 50.8 53.9
    deque_append_pop рекрей.рел релрен.реж рекреп.рек рекреп.реи рекреи.рел рекрел.рел
    deque_append_popleft 43.7 57.3 49.7 49.7 42.8 45.5

    рдЯрд╛рдЗрдорд┐рдВрдЧ рд▓реВрдк:
    loop_overhead 0.5 0.6 0.4 0.3 0.3 0.3

  • рдХрд╛рдврд▓реЗ html.parser.HTMLParser рдордзреАрд▓ unescape() рдкрджреНрдзрддреАрд╕рд╣, рдЕрдиреЗрдХ Python 2.7 рдлрдВрдХреНрд╢рдиреНрд╕ рдЖрдгрд┐ рдкрджреНрдзрддреА рдЬреНрдпрд╛ рдкреВрд░реНрд╡реА рдирд╛рдкрд╕рдВрдд рдХреЗрд▓реНрдпрд╛ рдЧреЗрд▓реНрдпрд╛ рд╣реЛрддреНрдпрд╛ рдЖрдгрд┐ рдкрд░рд┐рдгрд╛рдореА deprecationWarning рд╣реЛрддреА,
    array.array рдордзреАрд▓ tostring() рдЖрдгрд┐ fromstring(), threading.Thread рдордзреНрдпреЗ isAlive(), Getchildren() рдЖрдгрд┐ Getiterator() ElementTree рдордзреНрдпреЗ, sys.getcheckinterval(), sys.setcheckinterval(), asyncio.Task.current_task(), asyncio.Task.all_tasks(), base64.encodestring() рдЖрдгрд┐ base64.decodestring().

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

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