рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдкрд╛рд░реНрд╕рд░ рдЬрдирд░реЗрдЯрд░ рдХреА рдирдИ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ - рдореИрдВрдиреЗ рдкрд┐рдЫрд▓реЗ рднрд╛рдЧреЛрдВ рдореЗрдВ рдЗрд╕рдХрд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдкрд┐рдЫрд▓реЗ рд╣рдлреНрддреЗ рдХреЛрд░ рдбреЗрд╡рд▓рдкрд░ рд╕реНрдкреНрд░рд┐рдВрдЯ рдореЗрдВ рдореИрдВрдиреЗ рдХреНрдпрд╛ рдХрд┐рдпрд╛ рдерд╛, рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдореЗрд░реА рд╕реНрдореГрддрд┐ рд╕реЗ рд╕рдм рдХреБрдЫ рдорд┐рдЯ рдЬрд╛рдПред рдпрджреНрдпрдкрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рд╛рдордЧреНрд░реА рдХрд┐рд╕реА рди рдХрд┐рд╕реА рддрд░рд╣ PEG рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдХреБрдЫ рдХреЛрдб рджрд┐рдЦрд╛рдиреЗ рд╣реЛрдВрдЧреЗ рдЬреЛ рдХрд┐ Python 3.9 рдХреЗ рд▓рд┐рдП PEG рдкрд╛рд░реНрд╕рд░ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рджрд┐рд╢рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИред
рдкрд╛рдпрдерди рдЦреВрдВрдЯреА рдкрд╛рд░реНрд╕рд░ рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╕рд╛рдордЧреНрд░реА рдкрд┐рдЫрд▓реЗ рдЪрд╛рд░ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рд╣рд░ рд╕рд╛рд▓, рдкрд╛рдпрдерди рдХреЛрд░ рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдЯреАрдо рдПрдХ рд╡рд┐рджреЗрд╢реА рд╕реНрдерд╛рди рдкрд░ рдПрдХ рд╕рд╛рдкреНрддрд╛рд╣рд┐рдХ рд╕реНрдкреНрд░рд┐рдВрдЯ рдХреЗ рд▓рд┐рдП рдЗрдХрдЯреНрдард╛ рд╣реЛрддреА рд░рд╣реА рд╣реИред рдпреЗ рд╕реНрдкреНрд░рд┐рдВрдЯ рдореЗрдЬрдмрд╛рди рдФрд░ рдкреАрдПрд╕рдПрдл рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╛рдпреЛрдЬрд┐рдд рд╣реИрдВред рдкрд╣рд▓реЗ рджреЛ рд╡рд░реНрд╖реЛрдВ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рдорд╛рдЙрдВрдЯреЗрди рд╡реНрдпреВ рдореЗрдВ рдлреЗрд╕рдмреБрдХ рдХрд╛ рджреМрд░рд╛ рдХрд┐рдпрд╛, рдкрд┐рдЫрд▓реЗ рд╕рд╛рд▓ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдХреА рдмреЗрд▓рд╡реНрдпреВ рдкрд░ рдПрдХ рд▓рд╛рдЗрди рдереА, рдФрд░ рдмреНрд▓реВрдордмрд░реНрдЧ рдХреЗ рд▓рдВрджрди рдХрд╛рд░реНрдпрд╛рд▓рдп рдХреЛ рдЗрд╕ рд╕реНрдкреНрд░рд┐рдВрдЯ рдХреЗ рд▓рд┐рдП рдЪреБрдирд╛ рдЧрдпрд╛ рдерд╛ред (рдореБрдЭреЗ рдХрд╣рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд▓рдЧ рд░рд╣рд╛ рд╣реИред) рдЖрдпреЛрдЬрди рдХреЗ рд▓рд┐рдП рдХреЛрд░ рдбреЗрд╡рд▓рдкрд░ рдкрд╛рдмреНрд▓реЛ рдЧреИрд▓реАрдВрдбреЛ рд╕рд╛рд▓рдЧрд╛рдбреЛ рдХреА рдЬрдп!
рдЗрд╕ рдмрд╛рд░ 30 рд╕реЗ рдЕрдзрд┐рдХ рдбреЗрд╡рд▓рдкрд░реНрд╕, рд╕рд╛рде рд╣реА рджреЛ Padawans рдиреЗ рд╣рдореЗрдВ рдЗрдХрдЯреНрдард╛ рдХрд┐рдпрд╛ред рд▓реЛрдЧреЛрдВ рдиреЗ рд╡рд┐рднрд┐рдиреНрди рднрд╛рдЧреЛрдВ рдкрд░ рдХрд╛рдо рдХрд┐рдпрд╛: 3.8 рдмреНрд▓реЙрдХрд░реНрд╕ рд╕реЗ рдирдП рдкреАрдИрдкреА рддрдХред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рд╣рдорд╛рд░реА рдЙрдкрд▓рдмреНрдзрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреАрдПрд╕рдПрдл рдмреНрд▓реЙрдЧред рдореБрдЦреНрдп рдмрд┐рдВрджреБрдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдпрд╣ рдерд╛ рдХрд┐ рдЦреБрд▓реЗ рдкреАрдЖрд░ рдХреА рд╕рдВрдЦреНрдпрд╛ 1000 рд╕реЗ рдХрдо рдереА, 100 рд╕реЗ рдЕрдзрд┐рдХ рдкреАрдЖрд░ рдЙрдирдХреА рд╕рдореАрдХреНрд╖рд╛ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рдереЗред рдПрдХ рд▓реАрдбрд░рдмреЛрд░реНрдб рдХреЗ рд╕рд╛рде рдПрдХ рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рднреА рдереА - рд╢реАрд░реНрд╖ 10 рдкреНрд░рддрд┐рднрд╛рдЧреА рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдХреЗ рдкреАрдЖрд░ рдХрд╛ рдордВрдЪрди рдХрд┐рдпрд╛ред
рдореЗрд░реЗ рд▓рд┐рдП, рд╣рдореЗрд╢рд╛ рдЗрд╕ рддрд░рд╣ рдХреЗ рдЖрдпреЛрдЬрдиреЛрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдХрд╛ рдореБрдЦреНрдп рдХрд╛рд░рдг рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдмреИрдардХ рд╣реИ, рдЬрд┐рдирдХреЗ рд╕рд╛рде рдореИрдВ рдкреВрд░реЗ рд╕рд╛рд▓ рдСрдирд▓рд╛рдЗрди рд╕рд╣рдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВ рд╡рд░реНрд╖ рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдпрд╛ рджреЛ рдмрд╛рд░ рджреЗрдЦрддрд╛ рд╣реВрдВред рдпрд╣ рд╕реНрдкреНрд░рд┐рдВрдЯ рдпреВрд░реЛрдк рдореЗрдВ рдерд╛, рдЗрд╕рд▓рд┐рдП рд╣рдордиреЗ рдереЛрдбрд╝реА рдЕрд▓рдЧ рд░рдЪрдирд╛ рджреЗрдЦреА, рдФрд░ рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдерд╛ред рдЗрд╕рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдореИрдВрдиреЗ рдХрд╛рдлреА рдЙрддреНрдкрд╛рджрдХ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛, рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛ред
рд╕реНрдкреНрд░рд┐рдВрдЯ рдореЗрдВ рдореЗрд░рд╛ рдЬреНрдпрд╛рджрд╛рддрд░ рд╕рдордп, рдореИрдВрдиреЗ рдкреИрдЧ-рдЖрдзрд╛рд░рд┐рдд рдкрд╛рд░реНрд╕рд░ рдЬрдирд░реЗрдЯрд░ рдкрд░ рдкрд╛рдмреНрд▓реЛ рдФрд░ рдПрдорд┐рд▓реА рдореЛрд░рд╣рд╛рдЙрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд┐рдпрд╛, рдЬреЛ рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдХрд┐рд╕реА рджрд┐рди рд╡рд░реНрддрдорд╛рди рдкреИрдЬрди-рдЖрдзрд╛рд░рд┐рдд рдкрд╛рд░реНрд╕рд░ рдЬрдирд░реЗрдЯрд░ рдХреЛ рдмрджрд▓ рджреЗрдЧрд╛ред рдпрд╣ рдЙрд╕реА рдХреЛрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдЬрдирд░реЗрдЯрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд┐рдЦрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдмрд╣реБрдд рд╕рдорд╛рди рд╣реИред рдкрд╛рдмреНрд▓реЛ рдиреЗ рдкрд╣рд▓реЗ рд╣реА рдЗрд╕ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдпреЛрдЧрджрд╛рди рджрд┐рдпрд╛ рд╣реИред
рд╕реНрдкреНрд░рд┐рдВрдЯ рдХрд╛ рдкрд╣рд▓рд╛ рджрд┐рди, рд╕реЛрдорд╡рд╛рд░, рдореИрдВрдиреЗ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдЗрд╕ рдЪрдХреНрд░ рдХреЗ рд▓реЗрдЦ 7 рдФрд░ 8 рдкрд░ рдХрд╛рдо рдХрд┐рдпрд╛ред рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рдореИрдВрдиреЗ рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╕рд╛рде рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рдИ, рд▓реЗрдХрд┐рди рджрд┐рди рдХреЗ рдЕрдВрдд рддрдХ рдЙрдирдХреЗ рдкрд╛рд╕ рд╕рдордп рдирд╣реАрдВ рдерд╛ред рдЗрд╕рд▓рд┐рдП рдЙрдиреНрд╣реЛрдВрдиреЗ рдЗрд╕реЗ рджреЛ рднрд╛рдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдФрд░ рдкрд╣рд▓реЗ рдЖрдзреЗ рднрд╛рдЧ рдХреЛ рдореЗрдЯрд╛рдЧреНрд░рд╛рдо рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рдХрд┐рдпрд╛ред рд╢реБрдХреНрд░рд╡рд╛рд░ рдХреА рджреЛрдкрд╣рд░ рдХреЛ, рдореБрдЭреЗ рдЕрдВрдд рдореЗрдВ рднрд╛рдЧ 8 рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рдордп рдорд┐рд▓рд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореБрдЭреЗ рдЕрднреА рднреА рдХрдЯ рдХреА рдХрд╣рд╛рдиреА рдХреЛ рдЫреЛрдбрд╝рдирд╛ рдкрдбрд╝рд╛ рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдЕрднреА рднреА рдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрджрд╛рд╣рд░рдг рдирд╣реАрдВ рдерд╛ред
рдордВрдЧрд▓рд╡рд╛рд░ рдХреЛ рдореИрдВрдиреЗ рдЕрдЬрдЧрд░ рдХреЗ рд▓рд┐рдП рдЦреВрдВрдЯреА рд╡реНрдпрд╛рдХрд░рдг рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ред рдпрд╣ рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЕрдореВрд░реНрдд рд╡рд┐рдирд┐рд░реНрджреЗрд╢рди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рднреА рдХреЛрдб рдХреЗ рдХрд░реАрдм рд╣реИред рд╣рдо рд╕рдордЭ рдЧрдП рдХрд┐ рд╣рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЕрдЬрдЧрд░ рдХреЛрдб рдкрд░ рд╡рд┐рдХрд╕рд┐рдд рд╡реНрдпрд╛рдХрд░рдг рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рдЬрдм рдореИрдВ рдЕрдкрдирд╛ рд╡реНрдпрд╛рдХрд░рдг рдкреВрд░рд╛ рдХрд░ рд░рд╣рд╛ рдерд╛, рдПрдорд┐рд▓реА рдмреИрдЪ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд░ рд░рд╣реА рдереАред рдЙрд╕рдХреЗ рдмрд╛рдж, рдореЗрд░рд╛ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдерд╛:
- рдкрд╛рдпрдерди рдХреЛрдб рдХреЗ рд╕рд╛рде рдХреБрдЫ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдПрдБ
- рдкрд╣рд▓реА рд╕рдорд╕реНрдпрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рд╕ рдкрд░ рд╡рд╣ рдЧрд┐рд░ рдЧрдпрд╛
- рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рд╡реНрдпрд╛рдХрд░рдг
- рддрдм рддрдХ рджреЛрд╣рд░рд╛рдПрдВ рдЬрдм рддрдХ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рди рд╣реЛ
- рдЕрдЧрд▓реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкрд░ рдЬрд╛рдПрдВ
рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ pgen рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛрдб рдХреЗ рд╕рд╛рде рд╢реБрд░реБрдЖрдд рдХреАред рдЕрдВрдд рдореЗрдВ, рдореЗрд░рд╛ рд╡реНрдпрд╛рдХрд░рдг рдкреИрдЬрди рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдкрд╛рдпрдерди рдирд┐рд░реНрдорд╛рдгреЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛, рдФрд░ рдореИрдВ рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЙрдбреНрдпреВрд▓ рдкрд░ рдЪрд▓рд╛ рдЧрдпрд╛ред рдкрд╣рд▓реЗ, Lib/test
рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдирд╛, рдлрд┐рд░ Lib/asyncio
рдФрд░ рдЕрдВрдд рдореЗрдВ Lib
, рдпрд╛рдиреА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдкреВрд░реЗ рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп (рдХрдо рд╕реЗ рдХрдо рдкрд╛рдпрдерди рдореЗрдВ рд▓рд┐рдЦрд╛ рд╣реБрдЖ)ред рд╕рдкреНрддрд╛рд╣ рдХреЗ рдЕрдВрдд рддрдХ рдореИрдВ рдЬрд╢реНрди рдордирд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛: рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреА рдПрдХрдорд╛рддреНрд░ рдлрд╛рдЗрд▓реЗрдВ, рдЬрд┐рд╕ рдкрд░ рдирдпрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдЧрд┐рд░ рдЧрдпрд╛ рдерд╛, рдЬрд┐рд╕рдореЗрдВ рдЦрд░рд╛рдм рдПрдирдХрд╛рдЙрдВрдЯрд░ рд╡рд╛рд▓реА рдлрд╛рдЗрд▓реЗрдВ рдереАрдВред рд╡реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдбреЗрдЯрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдореМрдЬреВрдж рд╣реИрдВ рдХрд┐ рдпрд╣ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛; рдФрд░ рдкрд╛рдпрдерди 2 рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдлрд╛рдЗрд▓реЗрдВ рдЬреЛ lib2to3 рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд╣реИрдВред
рдлрд┐рд░ рдореИрдВрдиреЗ рдПрдорд┐рд▓реА рдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдкрд╛рд░реНрд╕рд░ рд░рдирдЯрд╛рдЗрдо рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдХреЛрдб рдЬреЛрдбрд╝рд╛, рдФрд░ рдРрд╕рд╛ рд▓рдЧ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдирдпрд╛ рдкреАрдИрдЬреА рдкрд╛рд░реНрд╕рд░ рдкреБрд░рд╛рдиреЗ рдкреИрдЬрди рдкрд╛рд░реНрд╕рд░ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдереЛрдбрд╝рд╛ рддреЗрдЬ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЪреАрдЬреЗрдВ рдЖрдЧреЗ рдмрдврд╝реЗрдВрдЧреА! рд╡реНрдпрд╛рдХрд░рдг (160 рдкрдВрдХреНрддрд┐рдпреЛрдВ) рдореЗрдВ 100 рд╕реЗ рдЕрдзрд┐рдХ рдирд┐рдпрдо рд╣реИрдВ, рдФрд░ рдЗрд╕реЗ рдПрдПрд╕рдЯреА рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдореЗрдВ рдПрдХ рдХреНрд░рд┐рдпрд╛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА (рднрд╛рдЧ 6 рджреЗрдЦреЗрдВ)ред
рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВрдиреЗ рдХреБрдЫ рдкреНрд░рдпреЛрдЧ рдХрд┐рдП, рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рдж рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЖрдХрд╛рд░ рдХрд┐рддрдирд╛ рдмрдврд╝ рдЬрд╛рдПрдЧрд╛ред рдореИрдВ рдЗрд╕ рдирддреАрдЬреЗ рдкрд░ рдкрд╣реБрдВрдЪрд╛ рдХрд┐ рдпрд╣ 2-3 рдЧреБрдирд╛ рдмрдбрд╝рд╛ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣рд╛рдВ рдЗрд╕ рдкреНрд░рдпреЛрдЧ рдХрд╛ рд╡реНрдпрд╛рдХрд░рдг рд╣реИ:
start[mod_ty]: a=stmt* ENDMARKER{ Module(a, NULL, p->arena) } stmt[stmt_ty]: compound_stmt | simple_stmt compound_stmt[stmt_ty]: pass_stmt | if_stmt pass_stmt[stmt_ty]: a='pass' NEWLINE { _Py_Pass(EXTRA(a, a)) } if_stmt[stmt_ty]: | 'if' c=expr ':' t=suite e=[else_clause] { _Py_If(c, t, e, EXTRA(c, c)) } else_clause[asdl_seq*]: | 'elif' c=expr ':' t=suite e=[else_clause] { singleton_seq(p, _Py_If(c, t, e, EXTRA(c, c))) } | 'else' ':' s=suite { s } suite[asdl_seq*]: | a=simple_stmt { singleton_seq(p, a) } | NEWLINE INDENT b=stmt+ DEDENT { b } simple_stmt[stmt_ty]: a=expr_stmt NEWLINE { a } expr_stmt[stmt_ty]: a=expr { _Py_Expr(a, EXTRA(a, a)) } expr[expr_ty]: | l=expr '+' r=term { _Py_BinOp(l, Add, r, EXTRA(l, r)) } | l=expr '-' r=term { _Py_BinOp(l, Sub, r, EXTRA(l, r)) } | term term[expr_ty]: | l=term '*' r=factor { _Py_BinOp(l, Mult, r, EXTRA(l, r)) } | l=term '/' r=factor { _Py_BinOp(l, Div, r, EXTRA(l, r)) } | factor factor[expr_ty]: | l=primary '**' r=factor { _Py_BinOp(l, Pow, r, EXTRA(l, r)) } | primary primary[expr_ty]: | f=primary '(' e=expr ')' { _Py_Call(f, singleton_seq(p, e), NULL, EXTRA(f, e)) } | atom atom[expr_ty]: | '(' e=expr ')' { e } | NAME | NUMBER | STRING
рдпрд╣рд╛рдВ рдмрд╣реБрдд рд╕рд╛рд░реА рдЪреАрдЬреЗрдВ рд╣реИрдВ рдЬреЛ рдореБрдЭреЗ рд╕рдордЭрд╛рдиреА рд╣реЛрдВрдЧреАред
- рд╕реАред рдореЗрдВ рдХреНрд░рд┐рдпрд╛рдПрдБ рд▓рд┐рдЦреА рдЬрд╛рддреА рд╣реИрдВред рднрд╛рдЧ 6 рд╕реЗ рдЕрдЬрдЧрд░ рдЬрдирд░реЗрдЯрд░ рдХреА рддрд░рд╣, рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдПрдХ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╣реИред
- рдирд┐рдпрдо рдирд╛рдо рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рд╡рд░реНрдЧ рдХреЛрд╖реНрдардХ рдореЗрдВ рдкрд╛рда рдЗрд╕реА рдирд┐рдпрдо рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдгрд╛рдо рдХрд╛ рдкреНрд░рдХрд╛рд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
atom[expr_ty]
рдЕрд░реНрде рд╣реИ рдХрд┐ expr_ty
atom
рд▓рд┐рдП рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПрдЧрд╛ред рдпрджрд┐ рдЖрдк CPython рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ Include/Python-ast.h
рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдпрд╣ рдкреНрд░рдХрд╛рд░ рдЖрдВрддрд░рд┐рдХ рдПрдПрд╕рдЯреА рдореЗрдВ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╕рдВрд░рдЪрдирд╛ рд╣реИред - рдпрджрд┐ рд╡рд┐рдХрд▓реНрдк рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рддрддреНрд╡ рд╣реИ, рддреЛ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЛ рдЫреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗрд╡рд▓ рдкрд░рд┐рдгрд╛рдореА рдПрдПрд╕рдЯреА рдиреЛрдб рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рд╣реИред рдЕрдиреНрдпрдерд╛, рдХрд╛рд░реНрд░рд╡рд╛рдИ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред
- рдЙрддреНрдкрдиреНрди рд╕реА рдХреЛрдб рдХреЛ рднреА рдХреБрдЫ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рд╕реАрдкреАрдереЙрди рд╣реЗрдбрд░ рдлрд╛рдЗрд▓реЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдВрдЧреАред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрд╣рд╛рдВ рдкреНрд░рдХрд╛рд░
expr_ty
, рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, рдФрд░ рдХрдИ рдЕрдиреНрдп рдЖрд╡рд╢реНрдпрдХ рдЪреАрдЬреЗрдВред - рдЪрд░
p
рдореЗрдВ рдЙрддреНрдкрдиреНрди рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП Parser
рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реВрдЪрдХ рд╣реЛрддрд╛ рд╣реИред (рдФрд░ рд╣рд╛рдВ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ p
рдирд┐рдпрдо рдореЗрдВ рдХрд┐рд╕реА рдПрдХ рддрддреНрд╡ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ - рдЕрдиреНрдпрдерд╛ рдЙрддреНрдкрдиреНрди рд╕реА рдХреЛрдб рд╕рдВрдХрд▓рд┐рдд рдирд╣реАрдВ рд╣реЛрдЧрд╛!) EXTRA(node1, node2)
рдПрдХ рдореИрдХреНрд░реЛ рд╣реИ рдЬреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рддрд░реНрдХреЛрдВ рдХреЗ рдПрдХ рд╕реЗрдЯ рдореЗрдВ рдлреИрд▓рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдПрдПрд╕рдЯреА рдирд┐рд░реНрдорд╛рдг рд╕рдорд╛рд░реЛрд╣ рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдХрд╛рд░реНрд░рд╡рд╛рдИ рд▓рд┐рдЦрддреЗ рд╕рдордп рдпрд╣ рдмрд╣реБрдд рд╕рдордп рдмрдЪрд╛рддрд╛ рд╣реИ - рдЕрдиреНрдпрдерд╛, рдЖрдкрдХреЛ рдкреНрд░рд╛рд░рдВрдн рдФрд░ рд╕рдорд╛рдкреНрддрд┐ рдкрдВрдХреНрддрд┐ рд╕рдВрдЦреНрдпрд╛, рдХреЙрд▓рдо рдСрдлрд╝рд╕реЗрдЯ, рдФрд░ рд╡рд┐рддрд░рдг рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдХреНрд╖реЗрддреНрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реВрдЪрдХ рднреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред (рдПрдПрд╕рдЯреА рдиреЛрдбреНрд╕ рдкрд╛рдпрдерди рдСрдмреНрдЬреЗрдХреНрдЯ рдирд╣реАрдВ рд╣реИрдВ рдФрд░ рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рд▓реЗрдЖрдЙрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред)EXTRA()
рдореЗрдВ C рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рдХреБрдЫ рджрд┐рд▓рдЪрд╕реНрдк рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рдХрд╛рд░рдг, рд╣рдо AST рдиреЛрдб рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдХреНрд░реЛрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ, рд▓реЗрдХрд┐рди рдореВрд▓ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЖрдк рджреЗрдЦрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, _Py_Binop(...)
, Binop(...)
ред рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдореИрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрд▓рдЧ рддрд░рд╣ рд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪреВрдВрдЧрд╛ред- рддрддреНрд╡реЛрдВ (
foo*
рдпрд╛ foo+
) рдХреЛ рджреЛрд╣рд░рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреЛрдб рдЬрдирд░реЗрдЯрд░ asdl_seq*
рдкреНрд░рдХрд╛рд░ рдХрд╛ рдПрдХ рд╕рд╣рд╛рдпрдХ рдирд┐рдпрдо рдмрдирд╛рддрд╛ рд╣реИред рдпрд╣ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рд╣реИ рдЬреЛ рдПрдПрд╕рдЯреА рджреЛрд╣рд░рд╛рд╡ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдХрдИ рд╕реНрдерд╛рдиреЛрдВ рдкрд░, рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рддрддреНрд╡ рд╕реЗ рдЗрд╕ рддрд░рд╣ рдХреА рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдордиреЗ рд╕рд╣рд╛рдпрдХ рдлрд╝рдВрдХреНрд╢рди singleton_seq()
рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рд╣реИред
рд╢рд╛рдпрдж рдпрд╣ рдХреБрдЫ рдЕрдЬреАрдм рд▓рдЧрддрд╛ рд╣реИ, рдФрд░ рдореИрдВ рдмрд╣рд╕ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ред рдпрд╣ рдПрдХ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд╣реИ, рдФрд░ рдЗрд╕рдХрд╛ рдореБрдЦреНрдп рдЙрджреНрджреЗрд╢реНрдп рдпрд╣ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рд╣реИ рдХрд┐ рдПрдХ рдЦреВрдВрдЯреА рд╡реНрдпрд╛рдХрд░рдг рд╕реЗ рдЙрддреНрдкрдиреНрди рдкрд╛рд░реНрд╕рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рдПрдПрд╕рдЯреА рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред рдпрд╣ рд╕рдм рдореМрдЬреВрджрд╛ рдЯреЛрдХрди рдпрд╛ рдмрд╛рдпрдЯреЗрдХреЛрдб рд╕рдВрдХрд▓рдХ рдореЗрдВ рдХрд┐рд╕реА рднреА рдмрджрд▓рд╛рд╡ рдХреЗ рдмрд┐рдирд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдПрдХ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд╕рд░рд▓ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдФрд░ if
рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдПрдПрд╕рдЯреА рдХреЛ рдмрд╛рдЗрдЯрдХреЛрдб рдФрд░ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЗрд╕ рд╕реНрдкреНрд░рд┐рдВрдЯ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдиреНрдп рдЪреАрдЬреЗрдВ рдЬреЛ рдореИрдВрдиреЗ рдХреАрдВ:
- рдореИрдВрдиреЗ рд▓реБрдХрд╛рдЬрд╝ рд▓реИрдВрдЧ рдХреЛ рдкреАрдИрдкреА 585 (рднрд╡рд┐рд╖реНрдп рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рдВрдХреЗрдд рдХреЗ рд▓рд┐рдП рдЙрдирдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡) рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╛рдЬреА рдХрд░ рд▓рд┐рдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкрд╣рд▓реЗ рдерд╛, рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЗ рдПрдХ рд╕реЗрдЯ рдкрд░, рдЬреЗрдиреЗрд░рд┐рдХ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдирдпрд╛ рдкреАрдИрдкреА рдмрд╣реБрдд рдмреЗрд╣рддрд░ рджрд┐рдЦрддрд╛ рд╣реИ, рдФрд░ рдХреБрдЫ рджрд┐рди рдкрд╣рд▓реЗ рдЯрд╛рдЗрдкрд┐рдВрдЧ-рдореАрдЯрд┐рдВрдЧ рдореЗрдВ , рдЬрд╣рд╛рдВ рдкрд╛рдпрдерди рдЯрд╛рдЗрдк рдЪреЗрдХрд┐рдВрдЧ рдпреВрдЯрд┐рд▓рд┐рдЯреАрдЬ (рдорд╛рдЗрдкреА, рдкрд╛рдЗрдЯрд╛рдЗрдк рдФрд░ рдкрд┐рдпрд░реЗ) рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдореМрдЬреВрдж рдереЗ, рдЙрдиреНрд╣реЗрдВ рд╕рд╛рдорд╛рдиреНрдп рд╕реНрд╡реАрдХреГрддрд┐ рдорд┐рд▓реАред (рдпрд╣ рдЧрд╡рд░реНрдирд┐рдВрдЧ рдХрд╛рдЙрдВрд╕рд┐рд▓ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерди рдХреЗ рд╕рдорд╛рди рдирд╣реАрдВ рд╣реИ!)
- рдлреНрд░реЛрдЬрдирдореИрдк рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдкреАрдЖрдИ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдпреВрд░реА рд╕реЗрд▓рд┐рд╡рд╛рдиреЛрд╡ рдХреА рдорджрдж рдХреА , рдЬрд┐рд╕реЗ рд╡рд╣ stdlib рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддреЗ рдереЗред рдХрдИ рдЕрдиреНрдп рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛рдУрдВ рдиреЗ рднреА рдбрд┐рдЬрд╛рдЗрди рдореЗрдВ рдпреЛрдЧрджрд╛рди рджрд┐рдпрд╛ - рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдордиреЗ рдЙрджрд╛рд╣рд░рдг рдФрд░ рдПрдкреАрдЖрдИ рдЯреБрдХрдбрд╝реЛрдВ рд╕реЗ рднрд░реЗ рдХреБрдЫ рдмреЛрд░реНрдбреЛрдВ рдХреЗ рд╕рд╛рде рд╕реНрдкреНрд░рд┐рдВрдЯ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░ рджрд┐рдпрд╛ред рдкрд░рд┐рдгрд╛рдо PEP 603 рд╣реИ , рдФрд░ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕рдХреНрд░рд┐рдп рдЪрд░реНрдЪрд╛ рдХреЗ рдЕрдзреАрди рд╣реИ ред (рдПрдХ рдиреЛрдЯ: рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдПрдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА CPython рдореЗрдВ рдореМрдЬреВрдж рд╣реИ, PEP 567 рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ,
contextvars
рдореЙрдбреНрдпреВрд▓ред рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реА рджрд┐рд▓рдЪрд╕реНрдк рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рд╣реИ, Hash Array Mapped Trie
, рдЬреЛ рдПрдХ рдЙрдкрд╕рд░реНрдЧ рдЯреНрд░реА рдХреЗ рд╕рд╛рде рдПрдХ рд╣реИрд╢ рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рдЬреЛрдбрд╝рддреА рд╣реИ) - рдпреВрд░реА, рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣, рд╡рд┐рдЪрд╛рд░реЛрдВ рд╕реЗ рднрд░рд╛ рд╣реИред рдЙрдиреНрд╣реЛрдВрдиреЗ рдЕрдкрд╡рд╛рдж рд╕рдореВрд╣реЛрдВ ( рддреАрдиреЛрдВ рд╕реЗ рдПрдХ рд╡рд┐рдЪрд╛рд░) рдкрд░ рднреА рдХрд╛рдо рдХрд┐рдпрд╛, рдЬрд┐рд╕реЗ рд╡реЗ рдкрд╛рдпрдерди 3.9 рдореЗрдВ рдПрд╕рд┐рдВрдХреЛ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рдереЗред рдкреАрдИрдкреА рдХреЛ рдРрд╕рд╛ рдкреНрд░рддреАрдд рдирд╣реАрдВ рд╣реБрдЖ рдХрд┐ рдореИрдВрдиреЗ рдЖрдЦрд┐рд░реА рдмрд╛рд░ рджреЗрдЦрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдбрд╛рдпрдЧреНрд░рд╛рдо рд╕реЗ рднрд░рд╛ рдПрдХ рдмреЛрд░реНрдб рдпрд╛рдж рд╣реИред
- рд╣рдо рдПрдХ рдЫреЛрдЯреЗ рдЕрдЬрдЧрд░ рд░рд┐рд▓реАрдЬ рдЪрдХреНрд░ рдХреЗ рд▓рд┐рдП рд▓реБрдХрд╛рд╕ рдХреЗ рдкреНрд░рд╕реНрддрд╛рд╡ рдкрд░ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдЪрд░реНрдЪрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЗрд╕рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдкреАрдИрдкреА 602 рдерд╛ , рдЬрд┐рд╕рдореЗрдВ рдЙрдиреНрд╣реЛрдВрдиреЗ рдЕрдХреНрдЯреВрдмрд░ рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рд╕рд╛рд▓рд╛рдирд╛ рдмрдирд╛рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рдерд╛ред (рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рдХрд╛рд░рдг рд╣реИ: рдпрд╣ рдкрд╛рдпрдерди рд╕рдореНрдореЗрд▓рдиреЛрдВ рдФрд░ рдХреЛрд░ рд╕реНрдкреНрд░рд┐рдВрдЯ рдХреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдХрд╛рд░рдг рд╣реИред) рдпрд╣ рдЕрднреА рднреА рдмрд╣реБрдд рдЪрд░реНрдЪрд╛ рдореЗрдВ рд╣реИ ред рдХрдо рд╕реЗ рдХрдо рджреЛ рдХрд╛рдЙрдВрдЯрд░ рдСрдлрд╝рд░ рд╣реИрдВ: рдкреАрдИрдкреА 598 рдореЗрдВ, рдирд┐рдХ рдХреЙрдЧреНрд▓рди рдкреИрдЪ рдореЗрдВ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реБрдП, рджреЛ рд╕рд╛рд▓ рдХреА рд░рд┐рд▓реАрдЬрд╝ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ; рд╕реНрдЯреАрд╡ рдбрд╛рд╡рд░ рджреНрд╡рд┐рд╡рд╛рд░реНрд╖рд┐рдХ рд░рд┐рд▓реАрдЬ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рдмрд┐рдирд╛ (рдЕрднреА рддрдХ рдХреЛрдИ рдкреАрдИрдкреА рдирд╣реАрдВ рдерд╛)ред
- рдЧрд╡рд░реНрдирд┐рдВрдЧ рдХрд╛рдЙрдВрд╕рд┐рд▓ рдХреЗ рддреАрди рд╕рджрд╕реНрдп рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рд╕реНрдкреНрд░рд┐рдВрдЯ (рдмреНрд░реЗрдЯ рддреЛрдк, рдХреИрд░рд▓ рд╡рд┐рд▓рд┐рдВрдЧ рдФрд░ рдЖрдИ) рдореЗрдВ рднрд╛рдЧ рд▓рд┐рдпрд╛ рдФрд░ рдкрд╛рдпрдерди рдХреЛрд░ рдХреЗ рднрд╡рд┐рд╖реНрдп рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдкрд░ рдЪрд░реНрдЪрд╛ рдХреАред (рдореИрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдХреБрдЫ рдирд╣реАрдВ рдмреЛрд▓рдирд╛ рдЪрд╛рд╣рддрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдпреВрдПрд╕рдП рдореЗрдВ рдЕрдЧрд▓реЗ PyCon рдкрд░ рдмреЛрд▓рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╣рдо рд╕рдВрднрд╡рддрдГ рдзрди рдЬреБрдЯрд╛рдиреЗ рдХреА рд╢реБрд░реБрдЖрдд рдХрд░реЗрдВрдЧреЗ рддрд╛рдХрд┐ PSF рдХрд░реНрдиреЗрд▓ рд╡рд┐рдХрд╛рд╕ рдХреЛ рд╕рдорд░реНрдерди рдФрд░ рдЧрддрд┐ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдирд┐рдпреБрдХреНрдд рдХрд░ рд╕рдХреЗ)ред
- рдореИрдВрдиреЗ рдЬреЛрдЖрдирд╛ рдирд╛рдирдЬреЗрдХреА рдХреЗ рд╕рд╛рде рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рджреЛрдкрд╣рд░ рдХрд╛ рднреЛрдЬрди рдмрд╛рддрдЪреАрдд рдХреА - рдЬреЛ рд╕рдорд╛рд░реЛрд╣ рдореЗрдВ рднрд╛рдЧ рд▓реЗрдиреЗ рд╡рд╛рд▓реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдереЗред рдЙрд╕рдиреЗ рдмрддрд╛рдпрд╛ рдХрд┐ рдЬрдм рд╡рд╣ 8 рд╕рд╛рд▓ рдХреА рдереА рддрдм рдЙрд╕реЗ рдЗрдВрдЯрд░рдиреЗрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдХреИрд╕реЗ рд╡рд╣ рдЕрдкрдиреЗ рдЫреЛрдЯреЗ рднрд╛рдИ рдХреЛ рдЗрдВрдЯрд░рдиреЗрдЯ рдХреИрдлрд╝реЗ рдореЗрдВ рд▓реЗ рдЧрдИ, рдЬрдмрдХрд┐ рдЙрдирдХреА рдорд╛рдБ рдХрд╛рдо рдХрд░рддреА рдереАред рд╡рд╣рд╛рдБ рдЙрд╕рдиреЗ Google рдФрд░ рдИрдореЗрд▓ рдХреА рдЦреЛрдЬ рдХреА рдФрд░ рд╡рд╣рд╛рдБ рдкрд╣рд▓реЗ рд╕рдкреНрддрд╛рд╣ рд╣реА рд▓рдЯрдХрд╛ рд░рд╣рд╛ред
- рд╕рдкреНрддрд╛рд╣ рдХреА рдореБрдЦреНрдп рдорд╛рджрдХ рдШрдЯрдирд╛ рдЬрд╝реЛрдВрдмреА рдПрдкреЛрдХреИрд▓рд┐рдкреНрд╕ рдХреЙрдХрдЯреЗрд▓ рдХреА рдПрдХ рдЬреЛрдбрд╝реА рдереА, рдЬреЛ рд╣рдо рдореЗрдВ рд╕реЗ рдХреБрдЫ рдиреЗ рдЕрд▓реНрдХреЗрдорд┐рд╕реНрдЯ рдмрд╛рд░ рдореЗрдВ рдЖрджреЗрд╢ рджрд┐рдпрд╛ рдерд╛ред рдПрдХ 2 рд▓реАрдЯрд░ Erlenmeyer рдлреНрд▓рд╛рд╕реНрдХ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдирдХрд▓реА рдзреБрдПрдВ рдХреЗ рд╕рд╛рде рд╕реЗрд╡рд╛ рдХреА рдЬрд╛рддреА рд╣реИ, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдПрдХ рдирд┐рдпрдорд┐рдд рд╢рд░рд╛рдм рдорд┐рд╢реНрд░рдг рдкрд░ рд╕реВрдЦреА рд╢рд░рд╛рдм рдбрд╛рд▓реА рдЬрд╛рддреА рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рдкреЗрдп рдХреЛ рдЪрд╛рд░ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
- рд╢реБрдХреНрд░рд╡рд╛рд░ рдХреА рд░рд╛рдд, рд▓рд┐рд╕рд╛ рд░реЛрдЪ рд╣рдореЗрдВ рдЕрдкрдиреЗ рд╣реЛрдЯрд▓ рдХреЗ рдкрд╛рд╕ рдПрдХ рдЕрдЪреНрдЫреЗ рднрд╛рд░рддреАрдп рд░реЗрд╕реНрддрд░рд╛рдВ рдореЗрдВ рд▓реЗ рдЖрдИред рдпрд╣ рдЪрд╛рд░ рдореЗрдЯреНрд░реЛ рд╕реНрдЯреЗрд╢рдиреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдерд╛, рдЬреЛ рдХрд┐ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд░реЛрдорд╛рдВрдЪ рдерд╛ (рдпрд╣ рднреАрдбрд╝ рдХрд╛ рдШрдВрдЯрд╛ рдерд╛, рдФрд░ рд╣рдордиреЗ рд▓рдЧрднрдЧ рдХрдИ рдмрд╛рд░ рдИрд╕рд╛рдИ рд╣рд╛рдЗрдореНрд╕ рдЦреЛ рджрд┐рдпрд╛)ред рдЦрд╛рдиреЗ рд▓рд╛рдпрдХ рдерд╛!
- рдХреБрдЫ рдмрд┐рдВрджреБ рдкрд░, рд╣рдордиреЗ рдПрдХ рд╕рдореВрд╣ рдлрд╝реЛрдЯреЛ рд▓рд┐рдпрд╛ред рдпрд╣ рдмрд╣реБрдд рднрд╡рд┐рд╖реНрдп рджрд┐рдЦрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рд▓рдВрджрди рдкрд░рд┐рджреГрд╢реНрдп рд╣реИред

рдЕрдЧрд▓реЗ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рдПрдПрд╕рдЯреА рдиреЛрдб рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдкреНрд░рдЧрддрд┐ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░рддрд╛ рд╣реВрдВред
рдЗрд╕ рд▓реЗрдЦ рдХреЗ рд▓рд┐рдП рд▓рд╛рдЗрд╕реЗрдВрд╕ рдФрд░ рдХреЛрдб рдХрд╛ рд╣рд╡рд╛рд▓рд╛ рджрд┐рдпрд╛: CC BY-NC-SA 4.0