рдкрд╛рдпрдерди рдХреЛрдбрдЪреНрдпрд╛ рек рджрд╢рд▓рдХреНрд╖ рдУрд│реА рддрдкрд╛рд╕рдгреНрдпрд╛рдЪрд╛ рдорд╛рд░реНрдЧ. рднрд╛рдЧ 4

рдЖрдЬ рдЖрдореНрд╣реА рдбреНрд░реЙрдкрдмреЙрдХреНрд╕рдиреЗ рдкрд╛рдпрдерди рдХреЛрдбрдЪреНрдпрд╛ рдЕрдиреЗрдХ рджрд╢рд▓рдХреНрд╖ рдУрд│реАрдВрд╕рд╛рдареА рдкреНрд░рдХрд╛рд░ рдирд┐рдпрдВрддреНрд░рдг рдХрд╕реЗ рдЖрдпреЛрдЬрд┐рдд рдХреЗрд▓реЗ рдпрд╛рдмрджреНрджрд▓ рд╕рд╛рдордЧреНрд░реАрдЪреНрдпрд╛ рднрд╛рд╖рд╛рдВрддрд░рд╛рдЪрд╛ рджреБрд╕рд░рд╛ рднрд╛рдЧ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдд рдЖрд╣реЛрдд.

рдкрд╛рдпрдерди рдХреЛрдбрдЪреНрдпрд╛ рек рджрд╢рд▓рдХреНрд╖ рдУрд│реА рддрдкрд╛рд╕рдгреНрдпрд╛рдЪрд╛ рдорд╛рд░реНрдЧ. рднрд╛рдЧ 4

тЖТ рднрд╛рдЧ рдкрд╣рд┐рд▓рд╛ рд╡рд╛рдЪрд╛

рдЕрдзрд┐рдХреГрдд рдкреНрд░рдХрд╛рд░ рд╕рдорд░реНрдерди (PEP 484)

рдЖрдореНрд╣реА рд╣реЕрдХ рд╡реАрдХ 2014 рджрд░рдореНрдпрд╛рди рдбреНрд░реЙрдкрдмреЙрдХреНрд╕ рдпреЗрдереЗ mypy рд╕рд╣ рдЖрдордЪреЗ рдкрд╣рд┐рд▓реЗ рдЧрдВрднреАрд░ рдкреНрд░рдпреЛрдЧ рдХреЗрд▓реЗ. рд╣реЕрдХ рд╡реАрдХ рд╣рд╛ рдбреНрд░реЙрдкрдмреЙрдХреНрд╕рджреНрд╡рд╛рд░реЗ рдЖрдпреЛрдЬрд┐рдд рдХреЗрд▓реЗрд▓рд╛ рдПрдХ рдЖрдард╡рдбреНрдпрд╛рдЪрд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рдЖрд╣реЗ. рдпрд╛ рдХрд╛рд│рд╛рдд рдХрд░реНрдордЪрд╛рд░реА рддреНрдпрд╛рдВрдирд╛ рд╣рд╡реЗ рддреЗ рдХрд╛рдо рдХрд░реВ рд╢рдХрддрд╛рдд! рдбреНрд░реЙрдкрдмреЙрдХреНрд╕рдЪреЗ рдХрд╛рд╣реА рд╕рд░реНрд╡рд╛рдд рдкреНрд░рд╕рд┐рджреНрдз рддрдВрддреНрд░рдЬреНрдЮрд╛рди рдкреНрд░рдХрд▓реНрдк рдпрд╛рд╕рд╛рд░рдЦреНрдпрд╛ рдХрд╛рд░реНрдпрдХреНрд░рдорд╛рдВрдордзреНрдпреЗ рд╕реБрд░реВ рдЭрд╛рд▓реЗ. рдпрд╛ рдкреНрд░рдпреЛрдЧрд╛рдЪреНрдпрд╛ рдкрд░рд┐рдгрд╛рдореА, рдЖрдореНрд╣реА рдЕрд╕рд╛ рдирд┐рд╖реНрдХрд░реНрд╖ рдХрд╛рдврд▓рд╛ рдХреА рдорд╛рдпрдкреА рдЖрд╢рд╛рджрд╛рдпрдХ рджрд┐рд╕рдд рдЖрд╣реЗ, рдЬрд░реА рдкреНрд░рдХрд▓реНрдк рдЕрджреНрдпрд╛рдк рд╡реНрдпрд╛рдкрдХ рд╡рд╛рдкрд░рд╛рд╕рд╛рдареА рддрдпрд╛рд░ рдирд╛рд╣реА.

рддреНрдпрд╛ рд╡реЗрд│реА, рдкрд╛рдпрдерди рдкреНрд░рдХрд╛рд░рдЪреНрдпрд╛ рд╕рдВрдХреЗрдд рдкреНрд░рдгрд╛рд▓реАрдВрдЪреЗ рдорд╛рдирдХреАрдХрд░рдг рдХрд░рдгреНрдпрд╛рдЪреА рдХрд▓реНрдкрдирд╛ рд╣рд╡реЗрдд рд╣реЛрддреА. рдореА рдореНрд╣рдЯрд▓реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ, Python 3.0 рдкрд╛рд╕реВрди рдлрдВрдХреНрд╢рдиреНрд╕рд╕рд╛рдареА рдЯрд╛рдИрдк рдПрдиреЛрдЯреЗрд╢рдиреНрд╕ рд╡рд╛рдкрд░рдгреЗ рд╢рдХреНрдп рд╣реЛрддреЗ, рдкрд░рдВрддреБ рд╣реЗ рдХреЗрд╡рд│ рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддреА рд╣реЛрддреЗ, рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╡рд╛рдХреНрдпрд░рдЪрдирд╛ рдЖрдгрд┐ рд╢рдмреНрджрд╛рд░реНрдерд╛рд╢рд┐рд╡рд╛рдп. рдХрд╛рд░реНрдпрдХреНрд░рдорд╛рдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрджрд░рдореНрдпрд╛рди, рдпрд╛ рднрд╛рд╖реНрдпрд╛рдВрдХрдбреЗ, рдмрд╣реБрддреЗрдХ, рдлрдХреНрдд рджреБрд░реНрд▓рдХреНрд╖ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ. Hack Week рдирдВрддрд░, рдЖрдореНрд╣реА рд╢рдмреНрджрд╛рд░реНрдерд╛рдВрдЪреЗ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХрд░рдгреНрдпрд╛рд╡рд░ рдХрд╛рдо рдХрд░рд╛рдпрд▓рд╛ рд╕реБрд░реБрд╡рд╛рдд рдХреЗрд▓реА. рд╣реЗ рдХрд╛рдо рдЙрджрдпрд╛рд╕ рдЖрд▓реЗ рдкреАрдИрдкреА 484 (Guido van Rossum, ┼Бukasz Langa рдЖрдгрд┐ рдореА рдпрд╛ рджрд╕реНрддрдРрд╡рдЬрд╛рд╡рд░ рд╕рд╣рдпреЛрдЧ рдХреЗрд▓реЗ).

рдЖрдордЪреЗ рд╣реЗрддреВ рджреЛрди рдмрд╛рдЬреВрдВрдиреА рдкрд╛рд╣рд┐рд▓реЗ рдЬрд╛рдК рд╢рдХрддрд╛рдд. рдкреНрд░рдердо, рдЖрдореНрд╣рд╛рд▓рд╛ рдЖрд╢рд╛ рд╣реЛрддреА рдХреА рд╕рдВрдкреВрд░реНрдг рдкрд╛рдпрдерди рдЗрдХреЛрд╕рд┐рд╕реНрдЯрдо рдЯрд╛рдЗрдк рдЗрд╢рд╛рд░реЗ рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рджреГрд╖реНрдЯреАрдХреЛрди рд╕реНрд╡реАрдХрд╛рд░реВ рд╢рдХреЗрд▓ (рдкрд╛рдпрдердирдордзреНрдпреЗ "рдЯрд╛рдЗрдк рдПрдиреЛрдЯреЗрд╢рди" рдЪреНрдпрд╛ рд╕рдорддреБрд▓реНрдп рд╢рдмреНрджрд╛рдЪрд╛ рд╡рд╛рдкрд░ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ). рд╣реЗ, рд╕рдВрднрд╛рд╡реНрдп рдЬреЛрдЦреАрдо рд▓рдХреНрд╖рд╛рдд рдШреЗрддрд╛, рдЕрдиреЗрдХ рдкрд░рд╕реНрдкрд░ рд╡рд┐рд╕рдВрдЧрдд рдкрдзреНрджрддреА рд╡рд╛рдкрд░рдгреНрдпрд╛рдкреЗрдХреНрд╖рд╛ рдЪрд╛рдВрдЧрд▓реЗ рд╣реЛрдИрд▓. рджреБрд╕рд░реЗ, рдЖрдореНрд╣рд╛рд▓рд╛ рдкрд╛рдпрдерди рд╕рдореБрджрд╛рдпрд╛рддреАрд▓ рдЕрдиреЗрдХ рд╕рджрд╕реНрдпрд╛рдВрд╕рд╣ рдЯрд╛рдИрдк рдПрдиреЛрдЯреЗрд╢рди рдореЗрдХреЕрдирд┐рдЭрдорд╡рд░ рдЦреБрд▓реЗрдкрдгрд╛рдиреЗ рдЪрд░реНрдЪрд╛ рдХрд░рд╛рдпрдЪреА рд╣реЛрддреА. рд╣реА рдЗрдЪреНрдЫрд╛ рдЕрдВрд╢рддрдГ рдпрд╛ рд╡рд╕реНрддреБрд╕реНрдерд┐рддреАрджреНрд╡рд╛рд░реЗ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХреЗрд▓реА рдЧреЗрд▓реА рд╣реЛрддреА рдХреА рдЖрдореНрд╣реА рдкрд╛рдпрдерди рдкреНрд░реЛрдЧреНрд░рд╛рдорд░рдЪреНрдпрд╛ рд╡реНрдпрд╛рдкрдХ рд▓реЛрдХрд╛рдВрдЪреНрдпрд╛ рджреГрд╖реНрдЯреАрдиреЗ рднрд╛рд╖реЗрдЪреНрдпрд╛ рдореВрд▓рднреВрдд рдХрд▓реНрдкрдирд╛рдВрдкрд╛рд╕реВрди "рдзрд░реНрдорддреНрдпрд╛рдЧреА" рд╕рд╛рд░рдЦреЗ рджрд┐рд╕реВ рдЗрдЪреНрдЫрд┐рдд рдирд╛рд╣реА. рд╣реА рдбрд╛рдпрдиреЕрдорд┐рдХрд▓реА рдЯрд╛рдЗрдк рдХреЗрд▓реЗрд▓реА рднрд╛рд╖рд╛ рдЖрд╣реЗ, рдЬреА "рдбрдХ рдЯрд╛рдпрдкрд┐рдВрдЧ" рдореНрд╣рдгреВрди рдУрд│рдЦрд▓реА рдЬрд╛рддреЗ. рд╕рдореБрджрд╛рдпрд╛рдордзреНрдпреЗ, рдЕрдЧрджреА рд╕реБрд░реБрд╡рд╛рддреАрд╕, рд╕реНрдерд┐рд░ рдЯрд╛рдпрдкрд┐рдВрдЧрдЪреНрдпрд╛ рдХрд▓реНрдкрдиреЗрдмрджреНрджрд▓ рдереЛрдбреАрд╢реА рд╕рдВрд╢рдпрд╛рд╕реНрдкрдж рд╡реГрддреНрддреА рдорджрдд рдХрд░реВ рд╢рдХрд▓реА рдирд╛рд╣реА рдкрд░рдВрддреБ рдЙрджреНрднрд╡реВ рд╢рдХрд▓реА рдирд╛рд╣реА. рдкрд░рдВрддреБ рд╕реНрдерд┐рд░ рдЯрд╛рдпрдкрд┐рдВрдЧ рдЕрдирд┐рд╡рд╛рд░реНрдп рд╣реЛрдгрд╛рд░ рдирд╛рд╣реА рд╣реЗ рд╕реНрдкрд╖реНрдЯ рдЭрд╛рд▓реНрдпрд╛рдирдВрддрд░ (рдЖрдгрд┐ рд▓реЛрдХрд╛рдВрдирд╛ рддреЗ рдкреНрд░рддреНрдпрдХреНрд╖рд╛рдд рдЙрдкрдпреБрдХреНрдд рдЕрд╕рд▓реНрдпрд╛рдЪреЗ рд╕рдордЬрд▓реНрдпрд╛рдирдВрддрд░) рд╣реА рднрд╛рд╡рдирд╛ рдЕрдЦреЗрд░реАрд╕ рдХрдореА рдЭрд╛рд▓реА.

рдкреНрд░рдХрд╛рд░ рд╕рдВрдХреЗрдд рд╡рд╛рдХреНрдпрд░рдЪрдирд╛ рдЬреЛ рдЕрдЦреЗрд░реАрд╕ рд╕реНрд╡реАрдХрд╛рд░рд▓рд╛ рдЧреЗрд▓рд╛ рддреЛ mypy рддреНрдпрд╛ рд╡реЗрд│реА рд╕рдорд░реНрдерди рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╕рд╛рд░рдЦрд╛рдЪ рд╣реЛрддрд╛. PEP 484 3.5 рдордзреНрдпреЗ Python 2015 рд╕рд╣ рд░рд┐рд▓реАрдЭ рдЭрд╛рд▓реЗ. рдкрд╛рдпрдерди рд╣реА рдЖрддрд╛ рдбрд╛рдпрдиреЕрдорд┐рдХрд▓реА рдЯрд╛рдЗрдк рдХреЗрд▓реЗрд▓реА рднрд╛рд╖рд╛ рдирд╡реНрд╣рддреА. рдорд▓рд╛ рдпрд╛ рдШрдЯрдиреЗрдЪрд╛ рдкрд╛рдпрдерди рдЗрддрд┐рд╣рд╛рд╕рд╛рддреАрд▓ рдПрдХ рдорд╣рддреНрддреНрд╡рд╛рдЪрд╛ рдЯрдкреНрдкрд╛ рдореНрд╣рдгреВрди рд╡рд┐рдЪрд╛рд░ рдХрд░рд╛рдпрд▓рд╛ рдЖрд╡рдбрддреЗ.

рд╕реНрдерд▓рд╛рдВрддрд░рд╛рдЪреА рд╕реБрд░реБрд╡рд╛рдд

2015 рдЪреНрдпрд╛ рд╢реЗрд╡рдЯреА, рдбреНрд░реЙрдкрдмреЙрдХреНрд╕рдиреЗ mypy рд╡рд░ рдХрд╛рдо рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рддреАрди рд▓реЛрдХрд╛рдВрдЪреА рдЯреАрдо рддрдпрд╛рд░ рдХреЗрд▓реА. рддреНрдпрд╛рдд рдЧреБрдЗрдбреЛ рд╡реНрд╣реЕрди рд░реЛрд╕рдо, рдЧреНрд░реЗрдЧ рдкреНрд░рд╛рдЗрд╕ рдЖрдгрд┐ рдбреЗрд╡реНрд╣рд┐рдб рдлрд┐рд╢рд░ рдпрд╛рдВрдЪрд╛ рд╕рдорд╛рд╡реЗрд╢ рд╣реЛрддрд╛. рддреНрдпрд╛ рдХреНрд╖рдгрд╛рдкрд╛рд╕реВрди, рдкрд░рд┐рд╕реНрдерд┐рддреА рдЕрддреНрдпрдВрдд рд╡реЗрдЧрд╛рдиреЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрдК рд▓рд╛рдЧрд▓реА. рдорд╛рдпрдкреАрдЪреНрдпрд╛ рд╡рд╛рдвреАрддреАрд▓ рдкрд╣рд┐рд▓рд╛ рдЕрдбрдерд│рд╛ рдХрд╛рдордЧрд┐рд░реАрдЪрд╛ рд╣реЛрддрд╛. рдореА рд╡рд░ рд╕реВрдЪрд┐рдд рдХреЗрд▓реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ, рдкреНрд░рдХрд▓реНрдкрд╛рдЪреНрдпрд╛ рд╕реБрд░реБрд╡рд╛рддреАрдЪреНрдпрд╛ рджрд┐рд╡рд╕рд╛рдВрдордзреНрдпреЗ рдореА рдорд╛рдпрдкреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдЪреЗ C рдордзреНрдпреЗ рднрд╛рд╖рд╛рдВрддрд░ рдХрд░рдгреНрдпрд╛рдЪрд╛ рд╡рд┐рдЪрд╛рд░ рдХреЗрд▓рд╛ рд╣реЛрддрд╛, рдкрд░рдВрддреБ рд╣реА рдХрд▓реНрдкрдирд╛ рдЖрддрд╛рдЪреНрдпрд╛ рдпрд╛рджреАрддреВрди рдмрд╛рд╣реЗрд░ рдкрдбрд▓реА рдЖрд╣реЗ. рдЖрдореНрд╣реА CPython рдЗрдВрдЯрд░рдкреНрд░рд┐рдЯрд░ рд╡рд╛рдкрд░реВрди рд╕рд┐рд╕реНрдЯрдо рдЪрд╛рд▓рд╡рдгреНрдпрд╛рдордзреНрдпреЗ рдЕрдбрдХрд▓реЛ рд╣реЛрддреЛ, рдЬреЗ mypy рд╕рд╛рд░рдЦреНрдпрд╛ рд╕рд╛рдзрдирд╛рдВрд╕рд╛рдареА рдкреБрд░реЗрд╕реЗ рд╡реЗрдЧрд╡рд╛рди рдирд╛рд╣реА. (PyPy рдкреНрд░рдХрд▓реНрдк, JIT рдХрдВрдкрд╛рдпрд▓рд░рд╕рд╣ рдкрд░реНрдпрд╛рдпреА рдкрд╛рдпрдерди рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА, рдЖрдореНрд╣рд╛рд▓рд╛ рджреЗрдЦреАрд▓ рдорджрдд рдЭрд╛рд▓реА рдирд╛рд╣реА.)

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

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

рдбреНрд░реЙрдкрдмреЙрдХреНрд╕рдордзреНрдпреЗ рдкреНрд░рдХрд╛рд░ рддрдкрд╛рд╕рдгреАрдЪрд╛ рд╣рд╛ рдЬрд▓рдж рдЖрдгрд┐ рдиреИрд╕рд░реНрдЧрд┐рдХ рдЕрд╡рд▓рдВрдм рдХрд░рдгреНрдпрд╛рдЪрд╛ рдХрд╛рд│ рд╣реЛрддрд╛. 2016 рдЪреНрдпрд╛ рдЕрдЦреЗрд░реАрд╕, рдЖрдордЪреНрдпрд╛рдХрдбреЗ рдЯрд╛рдЗрдк рднрд╛рд╖реНрдпрд╛рдВрд╕рд╣ рдкрд╛рдпрдерди рдХреЛрдбрдЪреНрдпрд╛ рдЕрдВрджрд╛рдЬреЗ 420000 рдУрд│реА рдЖрдзреАрдЪ рд╣реЛрддреНрдпрд╛. рдЕрдиреЗрдХ рд╡рд╛рдкрд░рдХрд░реНрддреЗ рдкреНрд░рдХрд╛рд░ рддрдкрд╛рд╕рдгреАрдмрджреНрджрд▓ рдЙрддреНрд╕рд╛рд╣реА рд╣реЛрддреЗ. рдЕрдзрд┐рдХрд╛рдзрд┐рдХ рд╡рд┐рдХрд╛рд╕ рд╕рдВрдШ рдбреНрд░реЙрдкрдмреЙрдХреНрд╕ рдорд╛рдпрдкреА рд╡рд╛рдкрд░рдд рд╣реЛрддреЗ.

рддреЗрд╡реНрд╣рд╛ рд╕рд░реНрд╡ рдХрд╛рд╣реА рдЪрд╛рдВрдЧрд▓реЗ рджрд┐рд╕рдд рд╣реЛрддреЗ, рдкрд░рдВрддреБ рдЖрдореНрд╣рд╛рд▓рд╛ рдЕрдЬреВрдирд╣реА рдмрд░реЗрдЪ рдХрд╛рд╣реА рдХрд░рд╛рдпрдЪреЗ рд╣реЛрддреЗ. рдкреНрд░рдХрд▓реНрдкрд╛рддреАрд▓ рд╕рдорд╕реНрдпрд╛ рдХреНрд╖реЗрддреНрд░реЗ рдУрд│рдЦрдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рдкреНрд░рдердо рдХреЛрдгрддреНрдпрд╛ рд╕рдорд╕реНрдпрд╛рдВрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рд╣реЗ рд╕рдордЬреВрди рдШреЗрдгреНрдпрд╛рд╕рд╛рдареА рдЖрдореНрд╣реА рдирд┐рдпрддрдХрд╛рд▓рд┐рдХ рдЕрдВрддрд░реНрдЧрдд рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рд╕рд░реНрд╡реЗрдХреНрд╖рдгреЗ рдХрд░рдгреНрдпрд╛рд╕ рд╕реБрд░реБрд╡рд╛рдд рдХреЗрд▓реА (рд╣реА рдкрджреНрдзрдд рдЖрдЬрд╣реА рдХрдВрдкрдиреАрдордзреНрдпреЗ рд╡рд╛рдкрд░рд▓реА рдЬрд╛рддреЗ). рд╕рд░реНрд╡рд╛рдд рдорд╣рддреНрд╡рд╛рдЪреЗ, рдЬрд╕реЗ рддреЗ рд╕реНрдкрд╖реНрдЯ рдЭрд╛рд▓реЗ, рджреЛрди рдХрд╛рд░реНрдпреЗ рд╣реЛрддреА. рдкреНрд░рдердо, рдЖрдореНрд╣рд╛рд▓рд╛ рдХреЛрдбрдЪреНрдпрд╛ рдЕрдзрд┐рдХ рдкреНрд░рдХрд╛рд░рдЪреНрдпрд╛ рдХрд╡реНрд╣рд░реЗрдЬрдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ, рджреБрд╕рд░реЗ, рдЖрдореНрд╣рд╛рд▓рд╛ рдЬрд▓рдж рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА mypy рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рд╣реЗ рдкреВрд░реНрдгрдкрдгреЗ рд╕реНрдкрд╖реНрдЯ рд╣реЛрддреЗ рдХреА рдорд╛рдпрдкреАрд▓рд╛ рдЧрддреА рджреЗрдгреНрдпрд╛рдЪреЗ рдЖрдгрд┐ рдХрдВрдкрдиреАрдЪреНрдпрд╛ рдкреНрд░рдХрд▓реНрдкрд╛рдВрдордзреНрдпреЗ рддреЗ рд▓рд╛рдЧреВ рдХрд░рдгреНрдпрд╛рдЪреЗ рдЖрдордЪреЗ рдХрд╛рдо рдЕрджреНрдпрд╛рдк рдкреВрд░реНрдг рдЭрд╛рд▓реЗ рдирд╛рд╣реА. рдЖрдореНрд╣реА, рдпрд╛ рджреЛрди рдХрд╛рд░реНрдпрд╛рдВрдЪреЗ рдорд╣рддреНрддреНрд╡ рдкреВрд░реНрдгрддрдГ рдЬрд╛рдгрддреЛ, рддреЗ рд╕реЛрдбрд╡рд┐рдгреНрдпрд╛рд╕ рддрдпрд╛рд░ рдЖрд╣реЛрдд.

рдЕрдзрд┐рдХ рдЙрддреНрдкрд╛рджрдХрддрд╛!

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

рдЖрдореНрд╣реА рд╡рд░реНрддреБрд│рд╛рдХрд╛рд░ рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡ "рдЕрдирдЯрдБрдЧрд▓рд┐рдВрдЧ" рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рд╢рдХреНрдпрддреЗрдЪрд╛ рд╡рд┐рдЪрд╛рд░ рдХреЗрд▓рд╛, рдкрд░рдВрддреБ рдЖрдордЪреНрдпрд╛рдХрдбреЗ рддреЗ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕рдВрд╕рд╛рдзрдиреЗ рдирд╛рд╣реАрдд. рдЖрдореНрд╣рд╛рд▓рд╛ рдкрд░рд┐рдЪрд┐рдд рдирд╡реНрд╣рддреЗ рдЕрд╕реЗ рдмрд░реЗрдЪ рдХреЛрдб рд╣реЛрддреЗ. рдкрд░рд┐рдгрд╛рдореА, рдЖрдореНрд╣реА рдПрдХ рдкрд░реНрдпрд╛рдпреА рджреГрд╖реНрдЯреАрдХреЛрди рдШреЗрдКрди рдЖрд▓реЛ. рдЖрдореНрд╣реА "рдбрд┐рдкреЗрдВрдбрдиреНрд╕реА рдЯрдБрдЧрд▓реНрд╕" рдЪреНрдпрд╛ рдЙрдкрд╕реНрдерд┐рддреАрдд рджреЗрдЦреАрд▓ mypy рддреНрд╡рд░реАрдд рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рдЪреЗ рдард░рд╡рд┐рд▓реЗ. рдЖрдореНрд╣реА рдорд╛рдпрдкреА рдбрд┐рдорди рд╡рд╛рдкрд░реВрди рд╣реЗ рд▓рдХреНрд╖реНрдп рд╕рд╛рдзреНрдп рдХреЗрд▓реЗ. рдбрд┐рдорди рдПрдХ рд╕рд░реНрд╡реНрд╣рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЖрд╣реЗ рдЬреА рджреЛрди рдордиреЛрд░рдВрдЬрдХ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ рд▓рд╛рдЧреВ рдХрд░рддреЗ. рдкреНрд░рдердо, рддреЗ рд╕рдВрдкреВрд░реНрдг рдХреЛрдбрдмреЗрд╕рдЪреА рдорд╛рд╣рд┐рддреА рдореЗрдорд░реАрдордзреНрдпреЗ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рддреЗ. рдпрд╛рдЪрд╛ рдЕрд░реНрде рдЕрд╕рд╛ рдХреА рдкреНрд░рддреНрдпреЗрдХ рд╡реЗрд│реА рддреБрдореНрд╣реА mypy рдЪрд╛рд▓рд╡рддрд╛, рддреБрдореНрд╣рд╛рд▓рд╛ рд╣рдЬрд╛рд░реЛ рдЖрдпрд╛рдд рдЕрд╡рд▓рдВрдмрдирд╛рдВрд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдХреЕрд╢реЗ рдбреЗрдЯрд╛ рд▓реЛрдб рдХрд░рдгреНрдпрд╛рдЪреА рдЧрд░рдЬ рдирд╛рд╣реА. рджреБрд╕рд░реЗ рдореНрд╣рдгрдЬреЗ, рддреЛ рдХрд╛рд│рдЬреАрдкреВрд░реНрд╡рдХ, рд▓рд╣рд╛рди рд╕реНрдЯреНрд░рдХреНрдЪрд░рд▓ рдпреБрдирд┐рдЯреНрд╕рдЪреНрдпрд╛ рдкрд╛рддрд│реАрд╡рд░, рдлрдВрдХреНрд╢рдиреНрд╕ рдЖрдгрд┐ рдЗрддрд░ рдШрдЯрдХрд╛рдВрдордзреАрд▓ рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡рд╛рдВрдЪреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддреЛ. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдлрдВрдХреНрд╢рди рдЕрд╕рд▓реНрдпрд╛рд╕ foo рдлрдВрдХреНрд╢рди рдХреЙрд▓ рдХрд░рддреЗ bar, рдирдВрддрд░ рдПрдХ рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡ рдЖрд╣реЗ foo рдкрд╛рд╕реВрди bar. рдЬреЗрд╡реНрд╣рд╛ рдПрдЦрд╛рджреА рдлрд╛рдЗрд▓ рдмрджрд▓рддреЗ, рддреЗрд╡реНрд╣рд╛ рдбрд┐рдорди рдкреНрд░рдердо, рдЕрд▓рдЧрд╛рд╡рдордзреНрдпреЗ, рдлрдХреНрдд рдмрджрд▓рд▓реЗрд▓реНрдпрд╛ рдлрд╛рдЗрд▓рд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рддреЛ. рддреЗ рдирдВрддрд░ рддреНрдпрд╛ рдлрд╛рдИрд▓рдордзреАрд▓ рдмрд╛рд╣реНрдп рджреГрд╢реНрдпрдорд╛рди рдмрджрд▓ рдкрд╛рд╣рддреЗ, рдЬрд╕реЗ рдХреА рдмрджрд▓рд▓реЗрд▓реНрдпрд╛ рдлрдВрдХреНрд╢рди рд╕реНрд╡рд╛рдХреНрд╖рд░реА. рдбрд┐рдорди рдХреЗрд╡рд│ рд╕реБрдзрд╛рд░рд┐рдд рдлрдВрдХреНрд╢рди рд╡рд╛рдкрд░рдгрд╛рд▒реНрдпрд╛ рдлрдВрдХреНрд╢рдиреНрд╕рдЪреА рджреБрд╣реЗрд░реА рддрдкрд╛рд╕рдгреА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдпрд╛рддреАрдмрджреНрджрд▓ рддрдкрд╢реАрд▓рд╡рд╛рд░ рдорд╛рд╣рд┐рддреА рд╡рд╛рдкрд░рддреЛ. рд╕рд╛рдорд╛рдиреНрдпрддрдГ, рдпрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдирд╛рд╕рд╣, рддреБрдореНрд╣рд╛рд▓рд╛ рдлрд╛рд░рдЪ рдХрдореА рдХрд╛рд░реНрдпреЗ рддрдкрд╛рд╕рд╛рд╡реА рд▓рд╛рдЧрддреАрд▓.

рдпрд╛ рд╕рд░реНрд╡рд╛рдВрдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдХрд░рдгреЗ рд╕реЛрдкреЗ рдирд╡реНрд╣рддреЗ, рдХрд╛рд░рдг рдореВрд│ mypy рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдПрдХрд╛рд╡реЗрд│реА рдПрдХрд╛ рдлрд╛рдЗрд▓рд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рдгреНрдпрд╛рд╡рд░ рдЬрд╛рд╕реНрдд рд▓рдХреНрд╖ рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рддреЗ. рдЖрдореНрд╣рд╛рд▓рд╛ рдмрд▒реНрдпрд╛рдЪ рд╕реАрдорд╛рд░реЗрд╖реЗрд╡рд░реАрд▓ рдкрд░рд┐рд╕реНрдерд┐рддреАрдВрдирд╛ рд╕рд╛рдореЛрд░реЗ рдЬрд╛рд╡реЗ рд▓рд╛рдЧрд▓реЗ, рдЬреНрдпрд╛рдЪреНрдпрд╛ рдШрдЯрдиреЗрд╕рд╛рдареА рдХреЛрдбрдордзреНрдпреЗ рдХрд╛рд╣реАрддрд░реА рдмрджрд▓рд▓реЗрд▓реНрдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдВрдордзреНрдпреЗ рд╡рд╛рд░рдВрд╡рд╛рд░ рддрдкрд╛рд╕рдгреА рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрддреЗ. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдЬреЗрд╡реНрд╣рд╛ рд╡рд░реНрдЧрд╛рд▓рд╛ рдирд╡реАрди рдЖрдзрд╛рд░ рд╡рд░реНрдЧ рдирд┐рдпреБрдХреНрдд рдХреЗрд▓рд╛ рдЬрд╛рддреЛ рддреЗрд╡реНрд╣рд╛ рдЕрд╕реЗ рд╣реЛрддреЗ. рдПрдХрджрд╛ рдЖрдореНрд╣рд╛рд▓рд╛ рд╣рд╡реЗ рддреЗ рдХреЗрд▓реЗ рдХреА, рдЖрдореНрд╣реА рдмрд▒реНрдпрд╛рдЪ рд╡рд╛рдвреАрд╡ рддрдкрд╛рд╕рдгреНрдпрд╛рдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рд╡реЗрд│ рдХрд╛рд╣реА рд╕реЗрдХрдВрджрд╛рдВрдкрд░реНрдпрдВрдд рдХрдореА рдХрд░реВ рд╢рдХрд▓реЛ. рд╣рд╛ рдЖрдореНрд╣рд╛рд▓рд╛ рдореЛрдард╛ рд╡рд┐рдЬрдп рд╡рд╛рдЯрдд рд╣реЛрддрд╛.

рдЖрдгрдЦреА рдЙрддреНрдкрд╛рджрдХрддрд╛!

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

рдЖрдореНрд╣реА рдорд╛рдпрдкреАрд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдкреВрд░реНрд╡реАрдЪреНрдпрд╛ рдХрд▓реНрдкрдирд╛рдВрдкреИрдХреА рдПрдХрд╛рдХрдбреЗ рдкрд░рдд рдЬрд╛рдгреНрдпрд╛рдЪрд╛ рдирд┐рд░реНрдгрдп рдШреЗрддрд▓рд╛. рдореНрд╣рдгрдЬреЗ, рдкрд╛рдпрдерди рдХреЛрдб рд╕реА рдХреЛрдбрдордзреНрдпреЗ рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА. рд╕рд╛рдпрдереЙрди (рдПрдХ рдкреНрд░рдгрд╛рд▓реА рдЬреА рддреБрдореНрд╣рд╛рд▓рд╛ рдкрд╛рдпрдердирдордзреНрдпреЗ рд▓рд┐рд╣рд┐рд▓реЗрд▓реНрдпрд╛ рдХреЛрдбрдЪреЗ C рдХреЛрдбрдордзреНрдпреЗ рднрд╛рд╖рд╛рдВрддрд░ рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ) рд╕рд╣ рдкреНрд░рдпреЛрдЧ рдХреЗрд▓реНрдпрд╛рдиреЗ рдЖрдореНрд╣рд╛рд▓рд╛ рдХреЛрдгрддреАрд╣реА рджреГрд╢реНрдпрдорд╛рди рдЧрддреА рдорд┐рд│рд╛рд▓реА рдирд╛рд╣реА, рдореНрд╣рдгреВрди рдЖрдореНрд╣реА рдЖрдордЪреЗ рд╕реНрд╡рддрдГрдЪреЗ рдХрдВрдкрд╛рдЗрд▓рд░ рд▓рд┐рд╣рд┐рдгреНрдпрд╛рдЪреА рдХрд▓реНрдкрдирд╛ рдкреБрдиреНрд╣рд╛ рд╕реБрд░реВ рдХрд░рдгреНрдпрд╛рдЪрд╛ рдирд┐рд░реНрдгрдп рдШреЗрддрд▓рд╛. mypy codebase (Python рдордзреНрдпреЗ рд▓рд┐рд╣рд┐рд▓реЗрд▓реЗ) рдордзреНрдпреЗ рдЖрдзреАрдкрд╛рд╕реВрдирдЪ рд╕рд░реНрд╡ рдЖрд╡рд╢реНрдпрдХ рдкреНрд░рдХрд╛рд░рдЪреНрдпрд╛ рднрд╛рд╖реНрдпреЗ рдЕрд╕рд▓реНрдпрд╛рдиреЗ, рдЖрдореНрд╣рд╛рд▓рд╛ рд╡рд╛рдЯрд▓реЗ рдХреА рд╕рд┐рд╕реНрдЯрдорд▓рд╛ рдЧрддреА рджреЗрдгреНрдпрд╛рд╕рд╛рдареА рдпрд╛ рднрд╛рд╖реНрдпрд╛рдВрдЪрд╛ рд╡рд╛рдкрд░ рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░рдгреЗ рдлрд╛рдпрджреЗрд╢реАрд░ рдард░реЗрд▓. рдпрд╛ рдХрд▓реНрдкрдиреЗрдЪреА рдЪрд╛рдЪрдгреА рдШреЗрдгреНрдпрд╛рд╕рд╛рдареА рдореА рдкрдЯрдХрди рдПрдХ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рддрдпрд╛рд░ рдХреЗрд▓рд╛. рд╡рд┐рд╡рд┐рдз рдорд╛рдпрдХреНрд░реЛ-рдмреЗрдВрдЪрдорд╛рд░реНрдХреНрд╕рд╡рд░реАрд▓ рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрдд 10 рдкрдЯреАрдиреЗ рд╡рд╛рдв рдЭрд╛рд▓реА рдЖрд╣реЗ. рд╕рд╛рдпрдереЙрди рд╡рд╛рдкрд░реВрди рдкрд╛рдпрдерди рдореЙрдбреНрдпреВрд▓реНрд╕ рд╕реА рдореЙрдбреНрдпреВрд▓реНрд╕рдордзреНрдпреЗ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдгреЗ рдЖрдгрд┐ рд░рди-рдЯрд╛рдЗрдо рдЯрд╛рдЗрдк рдЪреЗрдХрдордзреНрдпреЗ рдЯрд╛рдЗрдк рдПрдиреЛрдЯреЗрд╢рдиреНрд╕ рдмрджрд▓рдгреЗ (рд╕рд╛рдорд╛рдиреНрдпрдд: рдЯрд╛рдЗрдк рдПрдиреЛрдЯреЗрд╢рдиреНрд╕ рд░рди-рдЯрд╛рдЗрдордордзреНрдпреЗ рджреБрд░реНрд▓рдХреНрд╖рд┐рдд рдХреЗрд▓реА рдЬрд╛рддрд╛рдд рдЖрдгрд┐ рдлрдХреНрдд рдЯрд╛рдЗрдк рдЪреЗрдХрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдорджреНрд╡рд╛рд░реЗ рд╡рд╛рдкрд░рд▓реА рдЬрд╛рддрд╛рдд) рд╣реА рдЖрдордЪреА рдХрд▓реНрдкрдирд╛ рд╣реЛрддреА. рдЖрдореНрд╣реА рдкреНрд░рддреНрдпрдХреНрд╖рд╛рдд рдкрд╛рдпрдерди рдордзреАрд▓ mypy рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдЪреЗ рдПрдХрд╛ рднрд╛рд╖реЗрдд рднрд╛рд╖рд╛рдВрддрд░ рдХрд░рдгреНрдпрд╛рдЪреА рдпреЛрдЬрдирд╛ рдЖрдЦрд▓реА рдЖрд╣реЗ рдЬреА рд╕реНрдЯреЕрдЯрд┐рдХрд▓реА рдЯрд╛рдЗрдк рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдбрд┐рдЭрд╛рдЗрди рдХреЗрд▓реЗрд▓реА рд╣реЛрддреА, рдЬреА рдкрд╛рдпрдердирд╕рд╛рд░рдЦреАрдЪ рджрд┐рд╕реЗрд▓ (рдЖрдгрд┐ рдмрд╣реБрддреЗрдХ рднрд╛рдЧрд╛рдВрд╕рд╛рдареА рдХрд╛рд░реНрдп рдХрд░рддреЗ). (рдпрд╛ рдкреНрд░рдХрд╛рд░рдЪреЗ рдХреНрд░реЙрд╕-рд▓рдБрдЧреНрд╡реЗрдЬ рд╕реНрдерд▓рд╛рдВрддрд░ рд╣реЗ рдорд╛рдпрдкреА рдкреНрд░рдХрд▓реНрдкрд╛рдЪреА рдкрд░рдВрдкрд░рд╛ рдмрдирд▓реЗ рдЖрд╣реЗ. рдореВрд│ рдорд╛рдпрдкреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдЕрд▓реЛрд░реЗрдордзреНрдпреЗ рд▓рд┐рд╣рд┐рд▓реА рдЧреЗрд▓реА рд╣реЛрддреА, рддреНрдпрд╛рдирдВрддрд░ рдЬрд╛рд╡рд╛ рдЖрдгрд┐ рдкрд╛рдпрдердирдЪрд╛ рд╕рд┐рдВрдЯреЕрдХреНрдЯрд┐рдХ рд╕рдВрдХрд░ рд╣реЛрддрд╛).

CPython рдПрдХреНрд╕реНрдЯреЗрдВрд╢рди API рд╡рд░ рд▓рдХреНрд╖ рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдгреЗ рд╣реА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЕрдиреЗрдЬрдореЗрдВрдЯ рдХреНрд╖рдорддрд╛ рдЧрдорд╛рд╡реВ рдирдпреЗ рдореНрд╣рдгреВрди рдорд╣рддреНрддреНрд╡рд╛рдЪреЗ рдЖрд╣реЗ. рдЖрдореНрд╣рд╛рд▓рд╛ рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдорд╢реАрди рдХрд┐рдВрд╡рд╛ mypy рд▓рд╛ рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдХреЛрдгрддреНрдпрд╛рд╣реА рд▓рд╛рдпрдмреНрд░рд░реАрдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╛рд╣реА. рдпрд╛рд╢рд┐рд╡рд╛рдп, рдЖрдордЪреНрдпрд╛рдХрдбреЗ рдЕрдЬреВрдирд╣реА рд╕рдВрдкреВрд░реНрдг рдкрд╛рдпрдерди рдЗрдХреЛрд╕рд┐рд╕реНрдЯрдо рдЖрдгрд┐ рд╕рд░реНрд╡ рдЯреВрд▓реНрд╕ (рдЬрд╕реЗ рдХреА рдкрд╛рдпрдЯреЗрд╕реНрдЯ) рдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдЕрд╕реЗрд▓. рдпрд╛рдЪрд╛ рдЕрд░реНрде рдЕрд╕рд╛ рд╣реЛрддреЛ рдХреА рдЖрдореНрд╣реА рдбреЗрд╡реНрд╣рд▓рдкрдореЗрдВрдЯ рджрд░рдореНрдпрд╛рди рдкрд╛рдпрдерди рдХреЛрдбрдЪрд╛ рд╡рд╛рдкрд░ рдХрд░рдгреЗ рд╕реБрд░реВ рдареЗрд╡реВ рд╢рдХрддреЛ, рдХреЛрдб рд╕рдВрдХрд▓рд┐рдд рд╣реЛрдгреНрдпрд╛рдЪреА рд╡рд╛рдЯ рдкрд╛рд╣рдгреНрдпрд╛рдРрд╡рдЬреА рдХреЛрдб рдмрджрд▓ рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдЖрдгрд┐ рддреНрдпрд╛рдЪреА рдЪрд╛рдЪрдгреА рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдЕрддрд┐рд╢рдп рдЬрд▓рдж рдкреЕрдЯрд░реНрдирд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгреЗ рд╕реБрд░реВ рдареЗрд╡реВ рд╢рдХрддреЛ. рдЕрд╕реЗ рджрд┐рд╕рддреЗ рдХреА рдЖрдореНрд╣реА рджреЛрди рдЦреБрд░реНрдЪреНрдпрд╛рдВрд╡рд░ рдмрд╕реВрди рдЦреВрдк рдЪрд╛рдВрдЧрд▓реЗ рдХрд╛рдо рдХрд░рдд рдЖрд╣реЛрдд, рдореНрд╣рдгреВрди рдмреЛрд▓рд╛рдпрдЪреЗ рдЖрд╣реЗ рдЖрдгрд┐ рдЖрдореНрд╣рд╛рд▓рд╛ рддреЗ рдЦреВрдк рдЖрд╡рдбрд▓реЗ.

рдХрдВрдкрд╛рдЗрд▓рд░, рдЬреНрдпрд╛рд▓рд╛ рдЖрдореНрд╣реА mypyc рдореНрд╣рдгрддреЛ (рдХрд╛рд░рдг рддреЗ рдкреНрд░рдХрд╛рд░рд╛рдВрдЪреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдорд╛рдпрдкреАрдЪрд╛ рдлреНрд░рдВрдЯ-рдПрдВрдб рдореНрд╣рдгреВрди рд╡рд╛рдкрд░ рдХрд░рддреЗ), рддреЛ рдПрдХ рдЕрддрд┐рд╢рдп рдпрд╢рд╕реНрд╡реА рдкреНрд░рдХрд▓реНрдк рдард░рд▓рд╛. рдПрдХрдВрджрд░реАрдд, рдЖрдореНрд╣реА рдХреЕрд╢рд┐рдВрдЧрд╢рд┐рд╡рд╛рдп рд╡рд╛рд░рдВрд╡рд╛рд░ mypy рд░рдирд╕рд╛рдареА рдЕрдВрджрд╛рдЬреЗ 4x рд╕реНрдкреАрдбрдЕрдк рдкреНрд░рд╛рдкреНрдд рдХреЗрд▓реЗ. mypyc рдкреНрд░рдХрд▓реНрдкрд╛рдЪрд╛ рдЧрд╛рднрд╛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдорд╛рдпрдХреЗрд▓ рд╕реБрд▓рд┐рд╡реНрд╣рди, рдЗрд╡реНрд╣рд╛рди рд▓реЗрд╡реНрд╣рдХрд┐рд╡реНрд╣рд╕реНрдХреА, рд╣реНрдпреВ рд╣реЕрди рдЖрдгрд┐ рд╕реНрд╡рддрдГрдЪреА рдПрдХ рдЫреЛрдЯреА рдЯреАрдо рд╕реБрдорд╛рд░реЗ 4 рдХреЕрд▓реЗрдВрдбрд░ рдорд╣рд┐рдиреЗ рд▓рд╛рдЧрд▓реА. mypy рдкреБрдиреНрд╣рд╛ рд▓рд┐рд╣рд┐рдгреНрдпрд╛рд╕рд╛рдареА рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдХрд╛рдорд╛рдкреЗрдХреНрд╖рд╛ рд╣реА рд░рдХреНрдХрдо рдЦреВрдкрдЪ рдХрдореА рд╣реЛрддреА, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, C++ рдХрд┐рдВрд╡рд╛ Go рдордзреНрдпреЗ. рдЖрдгрд┐ рджреБрд╕рд▒реНрдпрд╛ рднрд╛рд╖реЗрдд рдкреБрдирд░реНрд▓реЗрдЦрди рдХрд░рддрд╛рдирд╛ рдЖрдореНрд╣рд╛рд▓рд╛ рдкреНрд░рдХрд▓реНрдкрд╛рдд рдЬреЗрд╡рдвреЗ рдмрджрд▓ рдХрд░рд╛рд╡реЗ рд▓рд╛рдЧрддреАрд▓ рддреНрдпрд╛рдкреЗрдХреНрд╖рд╛ рдЦреВрдк рдХрдореА рдмрджрд▓ рдХрд░рд╛рд╡реЗ рд▓рд╛рдЧрд▓реЗ. рдЖрдореНрд╣рд╛рд▓рд╛ рдЖрд╢рд╛ рдЖрд╣реЗ рдХреА рдЖрдореНрд╣реА mypyc рдЕрд╢рд╛ рд╕реНрддрд░рд╛рд╡рд░ рдЖрдгреВ рд╢рдХрддреЛ рдХреА рдЗрддрд░ рдбреНрд░реЙрдкрдмреЙрдХреНрд╕ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рддреНрдпрд╛рдВрдЪрд╛ рдХреЛрдб рд╕рдВрдХрд▓рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рд╡реЗрдЧ рд╡рд╛рдврд╡рдгреНрдпрд╛рд╕рд╛рдареА рддреНрдпрд╛рдЪрд╛ рд╡рд╛рдкрд░ рдХрд░реВ рд╢рдХрддреАрд▓.

рдХрд╛рдордЧрд┐рд░реАрдЪреА рд╣реА рдкрд╛рддрд│реА рдЧрд╛рдардгреНрдпрд╛рд╕рд╛рдареА, рдЖрдореНрд╣рд╛рд▓рд╛ рдХрд╛рд╣реА рдордиреЛрд░рдВрдЬрдХ рдЕрднрд┐рдпрд╛рдВрддреНрд░рд┐рдХреА рдЙрдкрд╛рдп рд▓рд╛рдЧреВ рдХрд░рд╛рд╡реЗ рд▓рд╛рдЧрд▓реЗ. рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ, рдХрдВрдкрд╛рдЗрд▓рд░ рдЬрд▓рдж, рдирд┐рдореНрди-рд╕реНрддрд░реАрдп C рд░рдЪрдирд╛ рд╡рд╛рдкрд░реВрди рдЕрдиреЗрдХ рдСрдкрд░реЗрд╢рдиреНрд╕ рд╡рд╛рдврд╡реВ рд╢рдХрддреЛ, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рд╕рдВрдХрд▓рд┐рдд рдлрдВрдХреНрд╢рди рдХреЙрд▓ C рдлрдВрдХреНрд╢рди рдХреЙрд▓рдордзреНрдпреЗ рдЕрдиреБрд╡рд╛рджрд┐рдд рдХреЗрд▓рд╛ рдЬрд╛рддреЛ. рдЖрдгрд┐ рдЕрд╕рд╛ рдХреЙрд▓ рдЗрдВрдЯрд░рдкреНрд░рд┐рдЯреЗрдб рдлрдВрдХреНрд╢рди рдХреЙрд▓ рдХрд░рдгреНрдпрд╛рдкреЗрдХреНрд╖рд╛ рдЦреВрдк рд╡реЗрдЧрд╡рд╛рди рдЖрд╣реЗ. рдХрд╛рд╣реА рдСрдкрд░реЗрд╢рдиреНрд╕, рдЬрд╕реЗ рдХреА рдбрд┐рдХреНрд╢рдирд░реА рд▓реБрдХрдЕрдк, рдЕрдЬреВрдирд╣реА CPython рд╡рд░реВрди рдирд┐рдпрдорд┐рдд C-API рдХреЙрд▓ рд╡рд╛рдкрд░реВрди рдЧреБрдВрддрд▓реЗрд▓реЗ рдЖрд╣реЗрдд, рдЬреЗ рд╕рдВрдХрд▓рд┐рдд рдХреЗрд▓реНрдпрд╛рд╡рд░ рдХрд┐рд░рдХреЛрд│ рд╡реЗрдЧрд╡рд╛рди рд╣реЛрддреЗ. рдЖрдореНрд╣реА рд╕реНрдкрд╖реНрдЯреАрдХрд░рдгрд╛рджреНрд╡рд╛рд░реЗ рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╕рд┐рд╕реНрдЯрдорд╡рд░реАрд▓ рдЕрддрд┐рд░рд┐рдХреНрдд рднрд╛рд░ рджреВрд░ рдХрд░рдгреНрдпрд╛рдд рд╕рдХреНрд╖рдо рд╣реЛрддреЛ, рдкрд░рдВрддреБ рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрдЪреНрдпрд╛ рдмрд╛рдмрддреАрдд рдХреЗрд╡рд│ рдПрдХ рдЫреЛрдЯрд╛рд╕рд╛ рдлрд╛рдпрджрд╛ рдЭрд╛рд▓рд╛.

рд╕рд░реНрд╡рд╛рдд рд╕рд╛рдорд╛рдиреНрдп "рд╕реНрд▓реЛ" рдСрдкрд░реЗрд╢рдиреНрд╕ рдУрд│рдЦрдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдореНрд╣реА рдХреЛрдб рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдВрдЧ рдХреЗрд▓реЗ. рдпрд╛ рдбреЗрдЯрд╛рд╕рд╣ рд╕рд╢рд╕реНрддреНрд░, рдЖрдореНрд╣реА рдПрдХрддрд░ mypyc рдордзреНрдпреЗ рдмрджрд▓ рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХреЗрд▓рд╛ рдЬреЗрдгреЗрдХрд░реВрди рддреЗ рдЕрд╢рд╛ рдСрдкрд░реЗрд╢рдиреНрд╕рд╕рд╛рдареА рдЬрд▓рдж C рдХреЛрдб рддрдпрд╛рд░ рдХрд░реЗрд▓ рдХрд┐рдВрд╡рд╛ рдЬрд▓рдж рдСрдкрд░реЗрд╢рдиреНрд╕ рд╡рд╛рдкрд░реВрди рд╕рдВрдмрдВрдзрд┐рдд Python рдХреЛрдб рдкреБрдиреНрд╣рд╛ рд▓рд┐рд╣реВ рд╢рдХреЗрд▓ (рдЖрдгрд┐ рдХрд╛рд╣реАрд╡реЗрд│рд╛ рдЖрдордЪреНрдпрд╛рдХрдбреЗ рддреНрдпрд╛ рдХрд┐рдВрд╡рд╛ рдЗрддрд░ рд╕рдорд╕реНрдпреЗрд╕рд╛рдареА рдкреБрд░реЗрд╕реЗ рд╕реЛрдкреЗ рдЙрдкрд╛рдп рдирд╡реНрд╣рддреЗ) . рдХрдВрдкрд╛рдЗрд▓рд░ рдЖрдкреЛрдЖрдк рд╕рдорд╛рди рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдгреНрдпрд╛рдкреЗрдХреНрд╖рд╛ рдкрд╛рдпрдерди рдХреЛрдб рдкреБрдиреНрд╣рд╛ рд▓рд┐рд╣рд┐рдгреЗ рд╣рд╛ рд╕рдорд╕реНрдпреЗрдЪрд╛ рдПрдХ рд╕реЛрдкрд╛ рдЙрдкрд╛рдп рд╣реЛрддрд╛. рджреАрд░реНрдШрдХрд╛рд▓реАрди, рдЖрдореНрд╣рд╛рд▓рд╛ рдпрд╛рдкреИрдХреА рдЕрдиреЗрдХ рдкрд░рд┐рд╡рд░реНрддрдиреЗ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рдХрд░рд╛рдпрдЪреА рд╣реЛрддреА, рдкрд░рдВрддреБ рддреНрдпрд╛ рд╡реЗрд│реА рдЖрдореНрд╣реА рдХрдореАрдд рдХрдореА рдкреНрд░рдпрддреНрдирд╛рдд рдорд╛рдпрдкреАрд▓рд╛ рдЧрддреА рджреЗрдгреНрдпрд╛рд╡рд░ рд▓рдХреНрд╖ рдХреЗрдВрджреНрд░рд┐рдд рдХреЗрд▓реЗ рд╣реЛрддреЗ. рдЖрдгрд┐ рдпрд╛ рдзреНрдпреЗрдпрд╛рдХрдбреЗ рд╡рд╛рдЯрдЪрд╛рд▓ рдХрд░рддрд╛рдирд╛, рдЖрдореНрд╣реА рдЕрдиреЗрдХ рдХреЛрдкрд░реЗ рдХрд╛рдкрд▓реЗ.

рдкреБрдвреЗ рдЪрд╛рд▓реВтАж

рдкреНрд░рд┐рдп рд╡рд╛рдЪрдХ! рдЬреЗрд╡реНрд╣рд╛ рддреБрдореНрд╣реА рдорд╛рдпрдкреА рдкреНрд░рдХрд▓реНрдкрд╛рдЪреНрдпрд╛ рдЕрд╕реНрддрд┐рддреНрд╡рд╛рдмрджреНрджрд▓ рд╢рд┐рдХрд▓рд╛рдд рддреЗрд╡реНрд╣рд╛ рддреБрдордЪреА рдЫрд╛рдк рдХрд╛рдп рд╣реЛрддреА?

рдкрд╛рдпрдерди рдХреЛрдбрдЪреНрдпрд╛ рек рджрд╢рд▓рдХреНрд╖ рдУрд│реА рддрдкрд╛рд╕рдгреНрдпрд╛рдЪрд╛ рдорд╛рд░реНрдЧ. рднрд╛рдЧ 4
рдкрд╛рдпрдерди рдХреЛрдбрдЪреНрдпрд╛ рек рджрд╢рд▓рдХреНрд╖ рдУрд│реА рддрдкрд╛рд╕рдгреНрдпрд╛рдЪрд╛ рдорд╛рд░реНрдЧ. рднрд╛рдЧ 4

рд╕реНрддреНрд░реЛрдд: www.habr.com

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