рд▓реЛрдХрдкреНрд░рд┐рдп Python рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖реЗрдЪреЗ рдПрдХ рдирд╡реАрди рд╕реНрдерд┐рд░ рдкреНрд░рдХрд╛рд╢рди рдкреНрд░рдХрд╛рд╢рд┐рдд рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ.

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

рдкрд╛рдпрдерди рдПрдХ рд╕реНрдерд┐рд░ рдЖрдгрд┐ рд╡реНрдпрд╛рдкрдХ рднрд╛рд╖рд╛ рдЖрд╣реЗ. рд╣реЗ рдЕрдиреЗрдХ рдкреНрд░рдХрд▓реНрдкрд╛рдВрдордзреНрдпреЗ рдЖрдгрд┐ рд╡рд┐рд╡рд┐рдз рдХреНрд╖рдорддрд╛рдВрдордзреНрдпреЗ рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рддреЗ: рдкреНрд░рд╛рдердорд┐рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдореНрд╣рдгреВрди рдХрд┐рдВрд╡рд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдЖрдгрд┐ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдПрдХрддреНрд░реАрдХрд░рдг рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА. рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдЪреА рдореБрдЦреНрдп рдХреНрд╖реЗрддреНрд░реЗ: рд╡реЗрдм рд╡рд┐рдХрд╛рд╕, рдорд╢реАрди рд╢рд┐рдХреНрд╖рдг рдЖрдгрд┐ рдбреЗрдЯрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг, рдСрдЯреЛрдореЗрд╢рди рдЖрдгрд┐ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рд╢рд╛рд╕рди. рдкрд╛рдпрдерди рд╕рдзреНрдпрд╛ рдХреНрд░рдорд╡рд╛рд░реАрдд рддрд┐рд╕рд▒реНрдпрд╛ рдХреНрд░рдорд╛рдВрдХрд╛рд╡рд░ рдЖрд╣реЗ TIOBE.

рдореБрдЦреНрдп рдмрджрд▓:

PEG рд╡реНрдпрд╛рдХрд░рдгрд╛рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдирд╡реАрди рдЙрдЪреНрдЪ-рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкрд╛рд░реНрд╕рд░.

рдирд╡реАрди рдЖрд╡реГрддреНрддреАрдордзреНрдпреЗ, LL(1) рд╡реНрдпрд╛рдХрд░рдг (KS-grammar) рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рд╡рд░реНрддрдорд╛рди рдкрд╛рдпрдерди рдкрд╛рд░реНрд╕рд░ PEG (PB-рд╡реНрдпрд╛рдХрд░рдг) рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдирд╡реАрди рдЙрдЪреНрдЪ-рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЖрдгрд┐ рд╕реНрдерд┐рд░ рдкрд╛рд░реНрд╕рд░рдиреЗ рдмрджрд▓рд▓реЗ рдЖрд╣реЗ. KS рд╡реНрдпрд╛рдХрд░рдгрд╛рдВрджреНрд╡рд╛рд░реЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреЗрд▓реЗрд▓реНрдпрд╛ рднрд╛рд╖рд╛рдВрд╕рд╛рдареА рд╡рд┐рд╢реНрд▓реЗрд╖рдХ, рдЬрд╕реЗ рдХреА LR рдкрд╛рд░реНрд╕рд░, рдПрдХ рд╡рд┐рд╢реЗрд╖ рд▓реЗрдХреНрд╕рд┐рдХрд▓ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЪрд░рдг рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдЬреЗ рд╡реНрд╣рд╛рдЗрдЯрд╕реНрдкреЗрд╕, рд╡рд┐рд░рд╛рдордЪрд┐рдиреНрд╣реЗ рдЖрдгрд┐ рдпрд╛рдкреНрд░рдорд╛рдгреЗ рдЗрдирдкреБрдЯ рдЦрдВрдбрд┐рдд рдХрд░рддреЗ. рд╣реЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдХрд╛рд░рдг рд╣реЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рд░реЗрдЦреАрдп рд╡реЗрд│реЗрдд рдХрд╛рд╣реА KS рд╡реНрдпрд╛рдХрд░рдгрд╛рдВрд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рддрдпрд╛рд░реАрдЪрд╛ рд╡рд╛рдкрд░ рдХрд░рддрд╛рдд. RV рд╡реНрдпрд╛рдХрд░рдгрд╛рдВрдирд╛ рд╡реЗрдЧрд│реНрдпрд╛ рд▓реЗрдХреНрд╕рд┐рдХрд▓ рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рдЪреА рдкрд╛рдпрд░реА рдЖрд╡рд╢реНрдпрдХ рдирд╕рддреЗ, рдЖрдгрд┐ рддреНрдпрд╛рд╕рд╛рдареАрдЪреЗ рдирд┐рдпрдо рдЗрддрд░ рд╡реНрдпрд╛рдХрд░рдг рдирд┐рдпрдорд╛рдВрд╕рд╣ рдорд╛рдВрдбрд▓реЗ рдЬрд╛рдК рд╢рдХрддрд╛рдд.

рдирд╡реАрди рдСрдкрд░реЗрдЯрд░ рдЖрдгрд┐ рдХрд╛рд░реНрдпреЗ

рдмрд┐рд▓реНрдЯ-рдЗрди рдбрд┐рдХреНрдЯ рдХреНрд▓рд╛рд╕рдордзреНрдпреЗ рджреЛрди рдирд╡реАрди рдСрдкрд░реЗрдЯрд░ рдЬреЛрдбрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗрдд, | рд╢рдмреНрджрдХреЛрд╢ рд╡рд┐рд▓реАрди рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ |= рдЕрджреНрдпрддрдирд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА.

str рд╡рд░реНрдЧрд╛рдд рджреЛрди рдирд╡реАрди рдлрдВрдХреНрд╢рдиреНрд╕ рдЬреЛрдбрд▓реА рдЧреЗрд▓реА рдЖрд╣реЗрдд: str.removeprefix(prefix) рдЖрдгрд┐ str.removesuffix(рдкреНрд░рддреНрдпрдп).

рдЕрдВрдЧрднреВрдд рд╕рдВрдЧреНрд░рд╣ рдкреНрд░рдХрд╛рд░рд╛рдВрд╕рд╛рдареА рд╕рдВрдХреЗрдд рдЯрд╛рдЗрдк рдХрд░рд╛

рдпрд╛ рдкреНрд░рдХрд╛рд╢рдирд╛рдордзреНрдпреЗ рд╕рдзреНрдпрд╛ рдЙрдкрд▓рдмреНрдз рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд╕рд░реНрд╡ рдорд╛рдирдХ рд╕рдВрдЧреНрд░рд╣рд╛рдВрдордзреНрдпреЗ рдЬрдирд░реЗрдЯрд░ рд╕рд┐рдВрдЯреЕрдХреНрд╕рд╕рд╛рдареА рд╕рдорд░реНрдерди рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗ.

def read_blog_tags(tags: list[str]) -> рдХрд╛рд╣реАрд╣реА рдирд╛рд╣реА:
рдЯреЕрдЧрдордзреАрд▓ рдЯреЕрдЧрд╕рд╛рдареА:
рдкреНрд░рд┐рдВрдЯ ("рдЯреЕрдЧрдЪреЗ рдирд╛рд╡", рдЯреЕрдЧ)

рдЗрддрд░ рдмрджрд▓

  • PEP 573 C рд╡рд┐рд╕реНрддрд╛рд░ рдкрджреНрдзрддреА рд╡рд╛рдкрд░реВрди рдореЙрдбреНрдпреВрд▓ рд╕реНрдерд┐рддреАрдд рдкреНрд░рд╡реЗрд╢ рдХрд░рдгреЗ

  • PEP 593 рд▓рд╡рдЪрд┐рдХ рдХрд╛рд░реНрдпреЗ рдЖрдгрд┐ рдкрд░рд┐рд╡рд░реНрддрдиреАрдп рднрд╛рд╖реНрдпреЗ

  • PEP 602 Python рд╡рд╛рд░реНрд╖рд┐рдХ рд╕реНрдерд┐рд░ рд░рд┐рд▓реАрдЭрдордзреНрдпреЗ рд╣рд▓рддреЗ

  • PEP 614 рдбреЗрдХреЛрд░реЗрдЯрд░реНрд╕рд╡рд░реАрд▓ рд╡реНрдпрд╛рдХрд░рдг рдирд┐рд░реНрдмрдВрдз рд╢рд┐рдерд┐рд▓ рдХрд░рдгреЗ

  • рдорд╛рдирдХ рд▓рд╛рдпрдмреНрд░рд░реАрдордзреНрдпреЗ PEP 615 IANA рдЯрд╛рдЗрдо рдЭреЛрди рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рдкреЛрд░реНрдЯ

  • BPO 38379 рдХрдЪрд░рд╛ рд╕рдВрдХрд▓рди рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╡рд╕реНрддреВрдВрд╡рд░ рдмреНрд▓реЙрдХ рдХрд░рдд рдирд╛рд╣реА

  • BPO 38692 os.pidfd_open, рд░реЗрд╕ рдЖрдгрд┐ рд╕рд┐рдЧреНрдирд▓рд╢рд┐рд╡рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпрд╛рдВрдЪреНрдпрд╛ рдирд┐рдпрдВрддреНрд░рдгрд╛рд╕рд╛рдареА;

  • BPO 39926 рдпреБрдирд┐рдХреЛрдб рд╕рдорд░реНрдерди рдЖрд╡реГрддреНрддреА 13.0.0 рд╡рд░ рдЕрджреНрдпрддрдирд┐рдд рдХреЗрд▓реЗ

  • BPO 1635741, Python рдпрд╛рдкреБрдвреЗ рдПрдХрд╛рдЪ рдкреНрд░рдХреНрд░рд┐рдпреЗрдд рдЕрдиреЗрдХ рд╡реЗрд│рд╛ Python рд╕реБрд░реВ рдХрд░рддрд╛рдирд╛ рдЧрд│рддреА рд╣реЛрдд рдирд╛рд╣реА

  • PEP 590 рд╡реЗрдХреНрдЯрд░ рдХреЙрд▓рд╕рд╣ рдкрд╛рдпрдерди рд╕рдВрдЧреНрд░рд╣ (рд╢реНрд░реЗрдгреА, рдЯреНрдпреВрдкрд▓, рд╕реЗрдЯ, рдлреНрд░реЛрдЭрдирд╕реЗрдЯ, рд╕реВрдЪреА, рдбрд┐рдХреНрдЯ) рдкреНрд░рд╡реЗрдЧрдХ

  • рдХрд╛рд╣реА Python рдореЙрдбреНрдпреВрд▓реНрд╕ (_abc, audioop, _bz2, _codecs, _contextvars, _crypt, _functools, _json, _locale, operator, resource, time, _weakref) рдЖрддрд╛ PEP 489 рдордзреНрдпреЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреЗрд▓реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ рдкреЙрд▓рд┐рдлреЗрд╕ рдЗрдирд┐рд╢рд┐рдПрд▓рд╛рдпрдЭреЗрд╢рди рд╡рд╛рдкрд░рддрд╛рдд.

  • рдЕрдиреЗрдХ рдорд╛рдирдХ рд▓рд╛рдпрдмреНрд░рд░реА рдореЙрдбреНрдпреВрд▓реНрд╕ (рдСрдбрд┐рдУрдУрдк, рдПрдПрд╕рдЯреА, рдЬреАрдЖрд░рдкреА, _рд╣реЕрд╢рд▓рд┐рдм, рдкреАрдбрдмреНрд▓реНрдпреВрдбреА, _рдкреЛрд╕рд┐рдХреНрд╕рд╕рдмрдкреНрд░реЛрд╕реЗрд╕, рдпрд╛рджреГрдЪреНрдЫрд┐рдХ, рдирд┐рд╡рдб, рд░рдЪрдирд╛, рдЯрд░реНрдорд┐рдУрд╕, zlib) рдЖрддрд╛ PEP 384 рджреНрд╡рд╛рд░реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╕реНрдерд┐рд░ ABI рд╡рд╛рдкрд░рддрд╛рдд.

рд╕реНрддреНрд░реЛрдд: linux.org.ru

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