рдЕрдиреБрд╡рд╛рджрдХ рд╕реЗ: рдЕрд░реНрдорд┐рди рд░реЛрдирд╛рдЪреЗрд░ рдкрд╛рдпрдерди рд╕рдореБрджрд╛рдп (рдлреНрд▓рд╛рд╕реНрдХ, рдЬрд┐рдВрдЬрд╛ 2, рд╡рд░реНрдХреЗрдЬрд╝рдЧ) рдореЗрдВ рдПрдХ рдХрд╛рдлреА рдкреНрд░рд╕рд┐рджреНрдз рдбреЗрд╡рд▓рдкрд░ рд╣реИрдВред
рдЙрдиреНрд╣реЛрдВрдиреЗ рдХреБрдЫ рд╕рдордп рдкрд╣рд▓реЗ Python3 рдХреЗ рдЦрд┐рд▓рд╛рдл рдПрдХ рддрд░рд╣ рдХрд╛ рдзрд░реНрдордпреБрджреНрдз рд╢реБрд░реВ рдХрд┐рдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рд╣рд┐рд╕реНрдЯреАрд░рд┐рдпрд╛ рдФрд░ рдкреНрд░рддрд┐рдЧрд╛рдореА рдХреЗ рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рджреЛрд╖ рджреЗрдирд╛ рдЗрддрдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИ: рдЙрдирдХреА рдЖрдкрддреНрддрд┐рдпрд╛рдВ рдЧрдВрднреАрд░ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдЕрдиреБрднрд╡ рд╕реЗ рддрдп рд╣реЛрддреА рд╣реИрдВ, рд╡рд╣ рдХрд╛рдлреА рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЕрдкрдиреА рдмрд╛рдд рд░рдЦрддреЗ рд╣реИрдВред рд╢рдмреНрджрд╛рд╡рд▓реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕рд╛:
рдореИрдВрдиреЗ рдЬреЛрд░-рдЬрдмрд░рджрд╕реНрддреА рдХреЛ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреЗ рд░реВрдкрд╛рдВрддрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд┐рдпрд╛, рдФрд░ рдмрд╛рдЗрдЯ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдмрд╛рдЗрдЯ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рдмрд╛рдж рд╕реЗ, "рдХрдЪреНрдЪреЗ" рддрд╛рд░ рдХрд╛ рд╢рдмреНрдж рдлрд┐рд░ рднреА рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рд╣реИред
"рдРрддрд┐рд╣рд╛рд╕рд┐рдХ" рдиреЛрдЯ: 2012 рдореЗрдВ, рдЕрд░реНрдорд┐рди рдиреЗ PEP 414 рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рд░рдЦрд╛, рдЬрд┐рд╕рдореЗрдВ рдпреВрдирд┐рдХреЛрдб рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдирд┐рд╡рд╛рд░рдг рдХреЗ рд▓рд┐рдП рдХрдИ рдЙрдкрд╛рдп рдереЗ, PEP рдХреА рдкреБрд╖реНрдЯрд┐ рдмрд╣реБрдд рдЬрд▓реНрджреА рд╣реЛ рдЧрдИ рдереА, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрднреА рднреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдиреАрдЪреЗ рджрд┐рдпрд╛ рдЧрдпрд╛ рдкрд╛рда 5 рдЬрдирд╡рд░реА, 2014 рдХреЛ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛редрдкрд╛рдпрдерди 2 рдФрд░ 3 рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╕реВрдЪрд┐рдд рдЪрд░реНрдЪрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдХрдард┐рди рдФрд░ рдХрдард┐рди рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рднрд╛рд╖рд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдореГрдд рд╣реИ,
рдФрд░ рджреВрд╕рд░рд╛ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛ рд░рд╣рд╛ рд╣реИред рдЬрдм рдХреЛрдИ рджреЛ рдкрд╛рдпрдерди рд╢рд╛рдЦрд╛рдУрдВ рдореЗрдВ рдпреВрдирд┐рдХреЛрдб рд╕рдорд░реНрдерди рдХреА рдЪрд░реНрдЪрд╛ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реА рдЬрдЯрд┐рд▓ рд╡рд┐рд╖рдп рд╣реИред рднрд╛рд╖рд╛ рдХреЗ рджреЛ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдпреВрдирд┐рдХреЛрдб рд╕рдорд░реНрдерди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдореИрдВ рдЯреЗрдХреНрд╕реНрдЯ рдФрд░ рдмрд╛рдЗрдЯ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдмреБрдирд┐рдпрд╛рджреА рдореЙрдбрд▓ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реВрдВрдЧрд╛ред
рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ, рдореИрдВ рдЖрдкрдХреЛ рднрд╛рд╖рд╛ рдФрд░ рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕реЗ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдЦрд╛рдКрдВрдЧрд╛
рдкрд╛рдпрдерди 2 рдкрд╛рда рдФрд░ рдмрд╛рдЗрдЯ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рд╣реИред
рдЪреВрдВрдХрд┐ рдореБрдЭреЗ рдмрд╛рдЗрдЯ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдФрд░ рдпреВрдирд┐рдХреЛрдб рдХреЗ рдмреАрдЪ рд╕реАрдзреЗ рд░реВрдкрд╛рдВрддрд░рдг рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХреЛрдб рдХреА рдПрдХ рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдкрд╛рдпрдерди 3 рдореЗрдВ рдЧрд┐рд░рд╛рд╡рдЯ рдиреЗ рдореБрдЭреЗ рдмрд╣реБрдд рджреБрдЦ рдкрд╣реБрдВрдЪрд╛рдпрд╛ред рдореИрдВ рдореБрдЦреНрдп рдЕрдЬрдЧрд░ рд╡рд┐рдХрд╛рд╕ рдЯреАрдо рдХреА
рд╕рд╛рдордЧреНрд░реА рд╕реЗ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдирд╛рд░рд╛рдЬ рд╣реВрдВ, рдЬреЛ рдореБрдЭреЗ рдпрд╣ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЕрдЬрдЧрд░ 3 2.7 рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИред
рдкрд╛рда рдкреНрд░рд╕реНрддреБрддрд┐ рдореЙрдбрд▓
рдкрд╛рдпрдерди 2 рдФрд░ рдкрд╛рдпрдерди 3 рдХреЗ рдмреАрдЪ рдореБрдЦреНрдп рдЕрдВрддрд░ рдмреБрдирд┐рдпрд╛рджреА рдкреНрд░рдХрд╛рд░ рд╣реИ рдЬреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдФрд░ рдмрд╛рдЗрдЯ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореМрдЬреВрдж рд╣реИрдВред рдкрд╛рдпрдерди 3 рдореЗрдВ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рдХрд╛рд░ рд╣реИ:
str , рдЬреЛ рдпреВрдирд┐рдХреЛрдб рдореЗрдВ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рджреЛ рдмрд╛рдЗрдЯ рдкреНрд░рдХрд╛рд░:
рдмрд╛рдЗрдЯреНрд╕ рдФрд░
рдмрд╛рдпрдЯреНрд░реЗрдпрд░ ред
рджреВрд╕рд░реА рдУрд░, рдкрд╛рдпрдерди 2 рдореЗрдВ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рджреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рдХрд╛рд░ рд╣реИрдВ:
str , рдЬреЛ рдХрд┐ рдХрд┐рд╕реА рднреА рдЙрджреНрджреЗрд╢реНрдп рдФрд░ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рдЬреЛ рдХрд┐ ASCII + рддрдХ рд╕реАрдорд┐рдд рд╣реИ рдФрд░ рдХреБрдЫ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ 7-рдмрд┐рдЯ рдЕрдВрддрд░рд╛рд▓ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИред рд╕реНрдЯреНрд░реЗрдЯ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рд╛рде, Python2 рдореЗрдВ рдПрдХ
рдпреВрдирд┐рдХреЛрдб рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рд╣реИ, рдЬреЛ Python 3
str рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИред Python 2 рдореЗрдВ рдмрд╛рдЗрдЯреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдкреНрд░рдХрд╛рд░ рд╣реИ: bytearray, Python 3 рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ред 3. рд╕реНрдерд┐рддрд┐ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ Python 3 рд╕реЗред рдЙрдиреНрд╣реЛрдВрдиреЗ рдХреНрдпрд╛ рд╣рдЯрд╛рдпрд╛: рдпреВрдирд┐рдХреЛрдб рдореЗрдВ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдбреЗрдЯрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВред рд╣реИрд╢ рдмрд╛рдЗрдЯ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ (
рдмрд╛рдЗрдЯреНрд╕ ) рдмрд▓рд┐рджрд╛рди рдХреЗ рд▓рд┐рдП рдХреНрд╖рддрд┐рдкреВрд░реНрддрд┐ рдмрди рдЧрдпрд╛ред
рдмрд╛рдИрдЯреНрд░реЗрдпрд░ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдкрд░рд┐рд╡рд░реНрддрдирд╢реАрд▓ рд╣реИ рдФрд░ рдЗрд╕рд▓рд┐рдП
рд╣реИрд╢реЗрдб рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдореИрдВ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╢рдмреНрджрдХреЛрд╢ рдХреАрдЬрд╝ рдХреЗ рд░реВрдк рдореЗрдВ рдмрд╣реБрдд рдХрдо рдХрд░рддрд╛ рд╣реВрдВ, рдФрд░ рдЗрд╕рд▓рд┐рдП рд╣реИрд╢рд┐рдВрдЧ рдмрд╛рдЗрдирд░реА рдбреЗрдЯрд╛ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдпрд╛ рдЕрд╕рдВрднрд╡рддрд╛ рдореЗрд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рдЧрдВрднреАрд░ рдирд╣реАрдВ рд▓рдЧрддреА рд╣реИред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдкрд╛рдпрдерди 2 рдореЗрдВ, рдЪреВрдВрдХрд┐ рдмрд╛рдЗрдЯреНрд╕ рдХреЛ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЗ
рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рдПрдХ рдЪрд░ рдореЗрдВ рд░рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЦреЛрдпрд╛ рдкреНрд░рдХрд╛рд░
рдкрд╛рдпрдерди 3 рдмрд╛рдЗрдЯ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреЛ рдмрд╛рд╣рд░ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ 2.x рд╢рд╛рдЦрд╛ рдореЗрдВ рдЯрд╛рдЗрдк
рд╕реНрдЯреНрд░реЙрдЧ рдХреЗ рдереЗред рдХрд╛рдЧрдЬ рдкрд░, рдЗрд╕ рдирд┐рд░реНрдгрдп рдореЗрдВ рдХреБрдЫ рднреА рдЧрд▓рдд рдирд╣реАрдВ рд╣реИред рдЕрдХрд╛рджрдорд┐рдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рдпреВрдирд┐рдХреЛрдб рдореЗрдВ рд╣рдореЗрд╢рд╛ рджрд░реНрд╢рд╛рдП рдЧрдП рддрд╛рд░ рдорд╣рд╛рди рд╣реИрдВред рдФрд░ рдпрд╣ рд╕рдЪ рд╣реИ рдЕрдЧрд░ рдкреВрд░реА рджреБрдирд┐рдпрд╛ рдЖрдкрдХреА рджреБрднрд╛рд╖рд┐рдпрд╛ рд╣реИред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдореЗрдВ, рд╕рдм рдХреБрдЫ рдЕрд▓рдЧ рддрд░рд╣ рд╕реЗ рд╣реЛрддрд╛ рд╣реИ: рдЖрдкрдХреЛ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рдпрдерди 3 рдХрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рддреЗрдЬреА рд╕реЗ рдЯреВрдЯ рд░рд╣рд╛ рд╣реИред
рдореИрдВ рдЖрдкрдХреЗ рд╕рд╛рде рдИрдорд╛рдирджрд╛рд░ рд░рд╣реВрдВрдЧрд╛: рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдкрд╛рдпрдерди 2 рдпреВрдирд┐рдХреЛрдб рдХреЛ рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИ, рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИ, рдФрд░ рдореИрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдпреВрдиреАрдХреЛрдб тАЛтАЛрд╣реИрдВрдбрд▓рд┐рдВрдЧ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХреЛ рдордВрдЬреВрд░реА рджреЗрддрд╛ рд╣реВрдВред рдореЗрд░реА рд╕реНрдерд┐рддрд┐ рдпрд╣ рд╣реИ рдХрд┐ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдкрд╛рдпрдерди 3 рдореЗрдВ рдпрд╣ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рд╡рд╣ рдПрдХ рдХрджрдо рдкреАрдЫреЗ рд╣реИ рдФрд░ рдЗрд╕рд╕реЗ рднреА рдЕрдзрд┐рдХ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИрдВ, рдпрд╣реА рд╡рдЬрд╣ рд╣реИ рдХрд┐ рдореИрдВ рдкрд╛рдпрдерди 3 рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд╕реЗ рдмрд┐рд▓реНрдХреБрд▓ рдирдлрд░рдд рдХрд░рддрд╛ рд╣реВрдВред
рдпреВрдирд┐рдХреЛрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рддреНрд░реБрдЯрд┐рдпрд╛рдВ
рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдореИрдВ рд╡рд┐рд╡рд░рдг рдореЗрдВ рдбреБрдмрдХреА рд▓рдЧрд╛рдКрдВ, рд╣рдореЗрдВ рдкрд╛рдпрдерди 2 рдФрд░ 3 рдореЗрдВ рдпреВрдирд┐рдХреЛрдб рд╕рдорд░реНрдерди рдХреЗ рдмреАрдЪ рдХреЗ рдЕрдВрддрд░ рдХреЛ рд╕рдордЭрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ,
рд╕рд╛рде рд╣реА рд╕рд╛рде рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рдпреВрдирд┐рдХреЛрдб рд╕рдорд░реНрдерди рддрдВрддреНрд░ рдХреЛ рдмрджрд▓рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХреНрдпреЛрдВ рдХрд┐рдпрд╛ред
рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рдкрд╛рдпрдерди 2, рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрдИ рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдХреА рддрд░рд╣, рд╡рд┐рднрд┐рдиреНрди рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдЯреЙрдХ рдХреЗ рд╕рдорд░реНрдерди рдХреЗ рдмрд┐рдирд╛ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реИ, рдЗрд╕рдореЗрдВ рдмрд╛рдЗрдЯреНрд╕ рд╣реЛрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рд▓рд┐рдП рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рд╡рд┐рднрд┐рдиреНрди рдХреЗ рд╕рд╛рде рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ
рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдПрдиреНрдХреЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдпрд╣ рдХрдИ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрд╡реАрдХрд╛рд░реНрдп рдерд╛ред Django рд╡реЗрдм рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдХрдИ рд╕рд╛рд▓
рдпреВрдирд┐рдХреЛрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдмрд╛рдЗрдЯ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ред
рдЗрд╕ рдмреАрдЪ, рдкрд╛рдпрдерди, 2 рд╕рд╛рд▓ рд╕реЗ рдЖрдВрддрд░рд┐рдХ рдпреВрдирд┐рдХреЛрдб рд╕рдорд░реНрдерди рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реИред рдпреВрдирд┐рдХреЛрдб рд╕рдорд░реНрдерди рдореЗрдВ рд╕реБрдзрд╛рд░
рд╡рд┐рднрд┐рдиреНрди рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдореЗрдВ рдбреЗрдЯрд╛ рдХреА рдПрдХ рд╕рдорд╛рди рдкреНрд░рд╕реНрддреБрддрд┐ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреА рдЧрдИ рд╣реИред
рдкрд╛рдпрдерди 2 рдореЗрдВ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рддрд╛рд░реЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ:
рдЖрдк рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ (рдмрд╛рдЗрдЯ) рд▓реЗрддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рдЖрдк рдХрд╣реАрдВ рд╕реЗ рднреА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдпрд╣ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рд╕реЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд╕реНрд░реЛрдд рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ (рдореЗрдЯрд╛рдбреЗрдЯрд╛, рд╣реЗрдбрд░, рдЕрдиреНрдп)
рдпреВрдирд┐рдХреЛрдб рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдПред рдПрдХ рдпреВрдирд┐рдХреЛрдб рд╕реНрдЯреНрд░рд┐рдВрдЧ рдмрдирдиреЗ рдХреЗ рдмрд╛рдж, рдпрд╣ рд╕рднреА рд╕рдорд╛рди рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред
рдмрд╛рдЗрдЯ рдХреА рддрд░рд╣, рд▓реЗрдХрд┐рди рдЕрдм рдпрд╣ рдкрд╛рддреНрд░реЛрдВ рдХреА рдПрдХ рд╡рд┐рд╕реНрддреГрдд рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдЬрдм рдЖрдкрдХреЛ рдХрд╣реАрдВ рдФрд░ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдкрд╛рд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рдЖрдк рдлрд┐рд░ рд╕реЗ
рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рд╡рд╛рд▓реА рдкрд╛рд░реНрдЯреА рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░реЗрдВ,
рдФрд░ рд╣рдорд╛рд░реЗ рд╕рд╛рдордиреЗ рдлрд┐рд░ рд╕реЗ рдПрдХ рдмрд╛рдЗрдЯ рд╕реНрдЯреНрд░рд┐рдВрдЧ
рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдЬреБрдбрд╝реА рд╣реБрдИ рд╣реИрдВ? рдЗрд╕рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рднрд╛рд╖рд╛ рд╕реНрддрд░ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП,
рдкрд╛рдпрдерди 2 рдХреЛ рдпреВрдирд┐рдХреЛрдб рдХреЗ рдмрд┐рдирд╛ рдПрдХ рдЦреВрдмрд╕реВрд░рдд рджреБрдирд┐рдпрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рджреБрдирд┐рдпрд╛ рд╕реЗ рд╕рдВрдХреНрд░рдордг рдХрд╛ рд░рд╛рд╕реНрддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдмрд╛рдЗрдЯ рдФрд░ рдЧреИрд░-рдмрд╛рдЗрдЯ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рдЬрдмрд░рди рд░реВрдкрд╛рдВрддрд░рдг рдХреЗ рдХрд╛рд░рдг рдпрд╣ рд╕рдВрднрд╡ рд╣реИред рдРрд╕рд╛ рдХрдм рд╣реЛрддрд╛ рд╣реИ
рдФрд░ рдпрд╣ рддрдВрддреНрд░ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?
рдореБрдЦреНрдп рдмрд┐рдВрджреБ рдпрд╣ рд╣реИ рдХрд┐ рдЬрдм рдПрдХ рдмрд╛рдЗрдЯ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдПрдХ рдПрдХрд▓ рдСрдкрд░реЗрд╢рди рдореЗрдВ рдпреВрдирд┐рдХреЛрдб рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд╕рд╛рде рд╢рд╛рдорд┐рд▓ рд╣реЛрддрд╛ рд╣реИ,
рддрдм рдмрд╛рдЗрдЯ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рдбрд┐рдХреЛрдбрд┐рдВрдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдпреВрдирд┐рдХреЛрдб рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ ASCII рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдкрд╛рдпрдерди рдиреЗ рдПрдХрд▓ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХреА, рд▓реЗрдХрд┐рди рдЕрдм рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдп рд╕рд╛рдЗрдЯ-рд╕рд╛рдЗрдЯ рдореЙрдбреНрдпреВрд▓ рд╕реЗ рд╣рдЯрд╛ рджрд┐рдП рдЧрдП рд╣реИрдВ, рдпрд╣ ASCII рдкрд░ рд╕реЗрдЯ рд╣реИред рдпрджрд┐ рдЖрдк
-s рдзреНрд╡рдЬ рдХреЗ рд╕рд╛рде рджреБрднрд╛рд╖рд┐рдпрд╛ рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рддреЛ
sys.setdefaultencoding рдлрд╝рдВрдХреНрд╢рди рдЖрдкрдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧрд╛ рдФрд░ рдЖрдк рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рдпреЛрдЧ рдХрд░ рдкрд╛рдПрдВрдЧреЗ рдХрд┐ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ рдпрджрд┐ рдЖрдк UTF-8 рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВред рдХреБрдЫ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдкрд░ рд╕рдорд╕реНрдпрд╛рдПрдБ рдЙрддреНрдкрдиреНрди рд╣реЛ рд╕рдХрддреА рд╣реИрдВ:
1. рдирд┐рд╣рд┐рддрд╛рд░реНрде рдХреЗ рджреМрд░рд╛рди рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдФрд░ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рд░реВрдкрд╛рдВрддрд░рдг:
>>> "Hello " + u"World" u'Hello World'
рдпрд╣рд╛рдВ, рдмрд╛рдИрдВ рдУрд░ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдпреВрдирд┐рдХреЛрдб рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрджрд┐ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдЧреИрд░-рдПрдПрд╕рд╕реАрдЖрдИрдЖрдИ рдЕрдХреНрд╖рд░ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рддреЛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдХрд╛рд░реНрдпрдХреНрд░рдо рдирд┐рд╖реНрдкрд╛рджрди рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рд░реВрдкрд╛рдВрддрд░рдг рдпреВрдирд┐рдХреЛрдбрдбрдмрд▓рд╕реНрдЯреНрд░реАрдо рдЕрдкрд╡рд╛рдж рдХреЗ рд╕рд╛рде рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдПрдПрд╕рд╕реАрдЖрдИрдЖрдИ рд╣реИред
2. рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреА рддреБрд▓рдирд╛ рдХрд░рддреЗ рд╕рдордп рдЗрдВрдкреНрд▓рд┐рдХреЗрдВрдЯ рдЬреЙрдм рдФрд░ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рд░реВрдкрд╛рдВрддрд░рдг
>>> "Foo" == u"Foo" True
рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣реИ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдЦрддрд░рдирд╛рдХ рд▓рдЧрддрд╛ рд╣реИред рдмрд╛рдИрдВ рдУрд░ рдХреЛ рдпреВрдирд┐рдХреЛрдб рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдПрдХ рддреБрд▓рдирд╛ рдХреА рдЬрд╛рддреА рд╣реИред рдпрджрд┐ рдмрд╛рдИрдВ рдУрд░ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рджреБрднрд╛рд╖рд┐рдпрд╛ рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рджреЗрддрд╛ рд╣реИ, рдФрд░ рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдЕрд╕рдорд╛рди рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ (рддреБрд▓рдирд╛ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рдЧрд▓рдд рд▓реМрдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ)ред рдпрд╣ рдХрд╛рдлреА рдЕрдЪреНрдЫрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИ, рднрд▓реЗ рд╣реА рдЙрд╕рдХреЗ рд╕рд╛рде рдкрд╣рд▓реА рдореБрд▓рд╛рдХрд╛рдд рдореЗрдВ рдРрд╕рд╛ рди рд╣реЛред
3. рд╕реНрдкрд╖реНрдЯ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдФрд░ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рд░реВрдкрд╛рдВрддрд░рдг, рдХреЛрдбреЗрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рддрдВрддреНрд░ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВред
рдпрд╣ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рднрдпрд╛рд╡рд╣ рдЪреАрдЬреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ рдФрд░ рдкрд╛рдпрдерди 2 рдореЗрдВ рд╕рднреА рдпреВрдирд┐рдХреЛрдб рд╡рд┐рдлрд▓рддрд╛рдУрдВ рдФрд░ рдЧрд▓рддрдлрд╣рдореА рдХрд╛ рд╕рдмрд╕реЗ рдЖрдо рд╕реНрд░реЛрдд рд╣реИред рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рджреВрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкрд╛рдпрдерди 3 рдиреЗ рдпреВрдирд┐рдХреЛрдб рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдФрд░ .encode () рд╡рд┐рдзрд┐ рдХреЛ рдмрд╛рдЗрдЯ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рд╕реЗ .decode () рд╡рд┐рдзрд┐ рдХреЛ рд╣рдЯрд╛рдХрд░ рдПрдХ рдкрд╛рдЧрд▓ рдХрджрдо рдЙрдард╛рдпрд╛ред , рдЗрд╕рд╕реЗ рдореБрдЭреЗ рд╕рдмрд╕реЗ рдмрдбрд╝реА рдЧрд▓рддрдлрд╣рдореА рдФрд░ рдирд┐рд░рд╛рд╢рд╛ рд╣реБрдИред рдореЗрд░реЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реА рдореВрд░реНрдЦрддрд╛рдкреВрд░реНрдг рдирд┐рд░реНрдгрдп рд╣реИ, рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЛрдВрдиреЗ рдореБрдЭреЗ рдХрдИ рдмрд╛рд░ рдХрд╣рд╛ рдХрд┐ рдореБрдЭреЗ рдХреБрдЫ рднреА рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рд╣реИ, рдХреЛрдИ рднреА рдореЛрдбрд╝ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред
рдХреЛрдбреЗрдХреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдПрдХ рд╕реНрдкрд╖реНрдЯ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рд░реВрдкрд╛рдВрддрд░рдг рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
>>> "foo".encode('utf-8') 'foo'
рдпрд╣ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдПрдХ рдмрд╛рдЗрдЯ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реИред рд╣рдо рдЗрд╕реЗ рдпреВрдЯреАрдПрдл -8 рдореЗрдВ рдмрджрд▓рдиреЗ рдХреА рдорд╛рдВрдЧ рдХрд░рддреЗ рд╣реИрдВред рдЕрдХреЗрд▓реЗ рд╣реА рд╡реНрдпрд░реНрде рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ UTF-8 рдХреЛрдбреЗрдХ рдпреВрдЯреАрдПрдл -8 рдореЗрдВ рдПрдиреНрдХреЛрдбреЗрдб рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдмрд╛рдЗрдЯ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реЗ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ? UTF-8 рдХреЛрдбреЗрдХ рджреЗрдЦрддрд╛ рд╣реИ рдХрд┐ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдПрдХ рдпреВрдирд┐рдХреЛрдб рд╕реНрдЯреНрд░рд┐рдВрдЧ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдпреВрдирд┐рдХреЛрдб рдХреЗ рд▓рд┐рдП рдПрдХ рдордЬрдмреВрд░ рд░реВрдкрд╛рдВрддрд░рдг рдкрд╣рд▓реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬрдмрдХрд┐ "рдлреВ" рдХреЗрд╡рд▓ ASCII рдбреЗрдЯрд╛ рд╣реИ рдФрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ ASCII рд╣реИ, рдордЬрдмреВрд░ рд░реВрдкрд╛рдВрддрд░рдг рд╕рдлрд▓ рд╣реИ, рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рдпреВрдирд┐рдХреЛрдб рд╕реНрдЯреНрд░рд┐рдВрдЧ рдпреВ "рдлреВ" рдХреЛ рдпреВрдЯреАрдПрдл -8 рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдХреЛрдбреЗрдХ рдЗрдВрдЬрди
рдЕрдм рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдкрд╛рдпрдерди 2 рдореЗрдВ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИрдВ: рдмрд╛рдЗрдЯреНрд╕ рдФрд░ рдпреВрдирд┐рдХреЛрдбред рдЗрди рдЕрднреНрдпрд╛рд╡реЗрджрди рдХреЗ рдмреАрдЪ рд░реВрдкрд╛рдВрддрд░рдг рдХреЛрдбреЗрдХ рддрдВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рддрдВрддреНрд░ рдПрдХ рдпреВрдирд┐рдХреЛрдб-> рдмрд╛рдЗрдЯ рд░реВрдкрд╛рдВрддрд░рдг рдпреЛрдЬрдирд╛ рдпрд╛ рдПрдХ рд╕рдорд╛рди рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдХреЛрдбреЗрдХ рд░реВрдкрд╛рдВрддрд░рдг рдмрд╛рдЗрдЯ-> рдмрд╛рдЗрдЯ рдпрд╛ рдпреВрдирд┐рдХреЛрдб-> рдпреВрдирд┐рдХреЛрдб рдкреНрд░рджрд░реНрд╢рди рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдХреЛрдбреЗрдХ рд╕рд┐рд╕реНрдЯрдо рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдкрд╛рдпрдерди рдХреЗ рдмреАрдЪ рд░реВрдкрд╛рдВрддрд░рдг рдХреЛ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ JSON рдХреЛрдбреЗрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдЬрдЯрд┐рд▓ рдкрд╛рдпрдерди рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЕрдЧрд░ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЗрд╕ рддрд░рд╣ рдХреЗ рд░реВрдкрд╛рдВрддрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдЗрд╕ рд░рд╛рдЬреНрдп рдХреА рд╕реНрдерд┐рддрд┐ рддрдВрддреНрд░ рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдХрд╛рд░рдг рдмрди рд╕рдХрддреА рд╣реИ, рдЗрд╕рдХреА рдиреАрдВрд╡ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рдирд╛ред рдЗрд╕рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг 'рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд' рдирд╛рдордХ рдПрдХ рдХреЛрдбреЗрдХ рд╣реЛрдЧрд╛, рдЬрд┐рд╕реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рд╕реНрдЯреНрд░рд┐рдВрдЧ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреЗ рдХрд┐рд╕реА рднреА рдЬрдмрд░рди рд░реВрдкрд╛рдВрддрд░рдг рдХреЛ рдЕрдХреНрд╖рдо рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛:
>>> import sys >>> sys.setdefaultencoding('undefined') >>> "foo" + u"bar" Traceback (most recent call last): raise UnicodeError("undefined encoding") UnicodeError: undefined encoding
рдФрд░ рдкрд╛рдпрдерди 3 рдХреИрд╕реЗ рдХреЛрдбреЗрдХреНрд╕ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ? рдкрд╛рдпрдерди 3 рдЙрди рд╕рднреА рдХреЛрдбреЗрдХреНрд╕ рдХреЛ рд╣рдЯрд╛рддрд╛ рд╣реИ рдЬреЛ рдлрд╝реЙрд░реНрдо рдХрд╛ рд░реВрдкрд╛рдВрддрд░рдг рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ: рдпреВрдирд┐рдХреЛрдб <-> рдмрд╛рдЗрдЯ, рдФрд░ рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ .encode () рдмрд╛рдЗрдЯ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╡рд┐рдзрд┐ рдФрд░ .decode () рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╡рд┐рдзрд┐ред рдпрд╣ рдмрд╣реБрдд рд╣реА рдмреБрд░рд╛ рдирд┐рд░реНрдгрдп рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдерд╛
рдХрдИ рдЙрдкрдпреЛрдЧреА рдХреЛрдбреЗрдХреНрд╕ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкрд╛рдпрдерди 2 рдореЗрдВ рд╣реЗрдХреНрд╕ рдХреЛрдбреЗрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд░реВрдкрд╛рдВрддрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрдо рд╣реИ:
>>> "\x00\x01".encode('hex') '0001'
рдЬрдмрдХрд┐ рдЖрдк рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕ рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓реЗ рдореЗрдВ, рдмрд┐рдирд╕рд╛рдпрд╕реА рдЬреИрд╕реЗ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдорд╕реНрдпрд╛ рдЧрд╣рд░реА рд╣реИ, рдХреЛрдбреЗрдХреНрд╕ рд╡рд╛рд▓реЗ рдореЙрдбреНрдпреВрд▓ рдЕрд▓рдЧ рд╕реЗ рдЙрдкрд▓рдмреНрдз рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЬреЛ рд╕реЙрдХреЗрдЯреНрд╕ рд╕реЗ рд░реАрдбрд┐рдВрдЧ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреА рд╣реИрдВ, рдХреЛрдбреЗрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ zlib рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░реАрдо рд╕реЗ рдбреЗрдЯрд╛ рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддреА рд╣реИрдВ:
>>> import codecs >>> decoder = codecs.getincrementaldecoder('zlib')('strict') >>> decoder.decode('x\x9c\xf3H\xcd\xc9\xc9Wp') 'Hello ' >>> decoder.decode('\xcdK\xceO\xc9\xccK/\x06\x00+\xad\x05\xaf') 'Encodings'
рдЕрдВрдд рдореЗрдВ, рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкрд╣рдЪрд╛рди рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдФрд░ рдкрд╛рдпрдерди 3.3 рдореЗрдВ рдЗрди рдХреЛрдбреЗрдХреНрд╕ рдХреЛ рдмрд╣рд╛рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдм рд╣рдо рдлрд┐рд░ рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рднреНрд░рдо рдореЗрдВ рдбрд╛рд▓ рд░рд╣реЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдХреЛрдбреЗрдХреНрд╕ рдЙрди рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореЗрдЯрд╛-рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рд╡реЗ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рдХрд╛рд░рдг рд╕реЗ, рдкрд╛рдпрдерди рдЕрдм рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЕрдкрд╡рд╛рджреЛрдВ рдХреЛ рдлреЗрдВрдХ рд╕рдХрддрд╛ рд╣реИ:
>>> "Hello World".encode('zlib_codec') Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'str' does not support the buffer interface
(рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдХреЛрдбрдХ рдХреЛ рдЕрдм zlib рдХреЗ рдмрдЬрд╛рдп zlib_codec рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдкрд╛рдпрдерди 3.3 рдиреЗ рдХреЛрдбреЗрдХреНрд╕ рдХреЗ рд▓рд┐рдП рдкреБрд░рд╛рдиреЗ рдиреЛрдЯреЗрд╢рди рдХреЛ рд╕рдВрд░рдХреНрд╖рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ)
рдФрд░ рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рд╣рдо рдмрд╛рдЗрдЯ рдХреЗ рддрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП .encode () рд╡рд┐рдзрд┐ рд▓реМрдЯрд╛рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП? рдпрд╣ рдкрд╛рдпрдерди рджреБрднрд╛рд╖рд┐рдпрд╛ рдХреЗ рд╣реИрдХ рдХреЗ рдмрд┐рдирд╛ рднреА рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред рд╣рдо рдПрдХ рд╕рдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦрддреЗ рд╣реИрдВ:
import codecs def encode(s, name, *args, **kwargs): codec = codecs.lookup(name) rv, length = codec.encode(s, *args, **kwargs) if not isinstance(rv, (str, bytes, bytearray)): raise TypeError('Not a string or byte codec') return rv
рдЕрдм рд╣рдо рдмрд╛рдЗрдЯ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ .encode () рд╡рд┐рдзрд┐ рдХреЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
>>> b'Hello World'.encode('latin1') Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'bytes' object has no attribute 'encode' >>> encode(b'Hello World', 'latin1') Traceback (most recent call last): File "<stdin>", line 4, in encode TypeError: Can't convert 'bytes' object to str implicitly
рдЕрд╣рд╛! рдкрд╛рдпрдерди 3 рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рд╕реНрдерд┐рддрд┐ рд╕реЗ рдХреИрд╕реЗ рдирд┐рдкрдЯрдирд╛ рд╣реИред рд╣рдо рдПрдХ рд╕реБрдВрджрд░ рддреНрд░реБрдЯрд┐ рд╕реВрдЪрдирд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ "рдмрд╛рдЗрдЯреНрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╕реНрдЯреНрд░реЗрдХреНрдЯрд▓реА рдХрдиреНрд╡рд░реНрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ" рднреА "рдмрд╛рдЗрдЯреНрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рдХреЛрдИ рд╡рд┐рд╢реЗрд╖рддрд╛ 'рдПрдирдХреЛрдб' рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдмреЗрд╣рддрд░ рдФрд░ рд╕рдордЭрдиреЗ рдпреЛрдЧреНрдп рд╣реИред"
рдЗрди рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рд░реВрдкрд╛рдВрддрд░рдг рд╡рд┐рдзрд┐рдпреЛрдВ (рдПрдирдХреЛрдб рдФрд░ рдбреАрдХреЛрдб) рдХреЛ рд╡рд╛рдкрд╕ рдХреНрдпреЛрдВ рдирд╣реАрдВ рд▓рд╛рдпрд╛ рдЬрд╛рдП? рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдФрд░ рдЕрдм рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╕реЛрдЪрддрд╛ред рдЙрдиреНрд╣реЛрдВрдиреЗ рдореБрдЭреЗ рдмрд╛рд░-рдмрд╛рд░ рд╕рдордЭрд╛рдпрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╕рдордЭрддрд╛ рдФрд░ рдореИрдВ рд╢реБрд░реБрдЖрддреА рд▓реЛрдЧреЛрдВ рдХреЛ рдирд╣реАрдВ рд╕рдордЭрддрд╛, рдпрд╛ рдпрд╣ рдХрд┐ "рдкрд╛рда рдореЙрдбрд▓" рдмрджрд▓ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдореЗрд░реА рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ рдирд┐рд░рд░реНрдердХ рд╣реИрдВред
рдмрд╛рдЗрдЯ рд▓рд╛рдЗрдиреЗрдВ рдЦреЛ рдЧрдИрдВ
рдЕрдм, рдХреЛрдбреЗрдХ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдкреНрд░рддрд┐рдЧрдорди рдХреЗ рдмрд╛рдж, рд╕реНрдЯреНрд░рд┐рдВрдЧ рдСрдкрд░реЗрд╢рди рднреА рдмрджрд▓ рдЧрдП рд╣реИрдВ: рдЙрдиреНрд╣реЗрдВ рдХреЗрд╡рд▓ рдпреВрдирд┐рдХреЛрдб рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ, рдпрд╣ рдХрд╛рдлреА рдЙрдЪрд┐рдд рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИред рдЗрдВрдЯрд░рдкреНрд░реЗрдЯрд░ рдореЗрдВ рдмрд╛рдЗрдЯ рдФрд░ рдпреВрдирд┐рдХреЛрдб рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реЛрддреЗ рдереЗред рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдкреНрд░реЛрдЧреНрд░рд╛рдорд░реНрд╕ рдХреЗ рд▓рд┐рдП рдмрд┐рд▓реНрдХреБрд▓ рд╕реНрдкрд╖реНрдЯ рдерд╛, рдЕрдЧрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдмрд╛рдЗрдЯ рдпрд╛ рдпреВрдирд┐рдХреЛрдб рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рджреЛ рддрд░реАрдХреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛: __ str__ рдФрд░ __unicode__ред рд╣рд╛рдВ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдПрдХ рдордЬрдмреВрд░ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬреЛ рд╢реБрд░реБрдЖрддреА рд▓реЛрдЧреЛрдВ рдХреЛ рднреНрд░рдорд┐рдд рдХрд░рддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдерд╛ред
рдпрд╣ рдХреНрдпреЛрдВ рдЙрдкрдпреЛрдЧреА рд╣реИ? рдХреНрдпреЛрдВрдХрд┐, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рдирд┐рдореНрди-рд╕реНрддрд░ рдХреЗ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЕрдХреНрд╕рд░ рдмрд╛рдЗрдЯ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рдЕрдВрджрд░ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╕рдВрдЦреНрдпрд╛рдУрдВ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рдкрд╛рдпрдерди рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдорд╛рд▓рд┐рдХрд╛рдирд╛ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рдгрд╛рд▓реА рдкрд╛рдпрдерди 3 рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╡рд░реНрд╖реЛрдВ рд╕реЗ рдкрд╛рдпрдерди рд╡рд┐рдХрд╛рд╕ рдЯреАрдо
рдмрд╛рдЗрдЯ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рд░реВрдкрдг рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреА рд╣реИ ред
рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рд╢реЛ: рдкрд╛рдпрдерди 3 рд╕реНрдЯреНрд░рд┐рдВрдЧ рдбреЗрдЯрд╛ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдореЙрдбрд▓ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкрд╛рдпрдерди 3 рдореЗрдВ, рдХреБрдЫ рдПрдкреАрдЖрдИ рдХреЛ "рдЕрдкрдбреЗрдЯ" рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рд╡реЗ рдХреЗрд╡рд▓ рдпреВрдирд┐рдХреЛрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдЗрд╕рд▓рд┐рдП рд╡реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХрд╛рд░реНрдп рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдиреБрдкрдпреБрдХреНрдд рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрдм рдЖрдк рдорд╛рдирдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрд╛рдЗрдЯреНрд╕ рдХреЛ рдкрд╛рд░реНрд╕ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ URLред рдЗрд╕рдХрд╛ рдХрд╛рд░рдг рдпрд╣ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдзрд╛рд░рдгрд╛ рд╣реИ рдХрд┐ рд╕рднреА URL рдХреЗрд╡рд▓ рдпреВрдирд┐рдХреЛрдб рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ (рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЕрдм рдЖрдк рдЧреИрд░-рдпреВрдирд┐рдХреЛрдб-рдПрдиреНрдХреЛрдбреЗрдб рдореЗрд▓ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рдкрд╛рдПрдВрдЧреЗ, рдЬрдм рддрдХ рдХрд┐ рдЖрдк рдкрддреНрд░ рдореЗрдВ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдЕрдиреБрд▓рдЧреНрдирдХреЛрдВ рдХреЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдирджреЗрдЦрд╛ рдирд╣реАрдВ рдХрд░рддреЗ)ред
рдЗрд╕реЗ рдареАрдХ рдХрд░рдирд╛ рдХрд╛рдлреА рдЖрд╕рд╛рди рд╣реБрдЖ рдХрд░рддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЪреВрдВрдХрд┐ рдмрд╛рдЗрдЯ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдЕрдм рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдЦреЛ рдЧрдИ рд╣реИ, рдЗрд╕рд▓рд┐рдП URL рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдЕрдм рджреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИрдВред рдПрдХ рдпреВрдирд┐рдХреЛрдб рдХреЗ рд▓рд┐рдП рдФрд░ рдПрдХ рдмрд╛рдЗрдЯ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рд▓рд┐рдПред рдПрдХ рд╣реА рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рджреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЗрд╕ рддрдереНрдп рдХреЛ рдЬрдиреНрдо рджреЗрддреЗ рд╣реИрдВ рдХрд┐ рдбреЗрдЯрд╛ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдмрд╣реБрдд рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:
>>> from urllib.parse import urlparse >>> urlparse('http://www.google.com/') ParseResult(scheme='http', netloc='www.google.com', path='/', params='', query='', fragment='') >>> urlparse(b'http://www.google.com/') ParseResultBytes(scheme=b'http', netloc=b'www.google.com', path=b'/', params=b'', query=b'', fragment=b'')
рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд▓рдЧ рд░рд╣рд╛ рд╣реИ? рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ, рдХреНрдпреЛрдВрдХрд┐ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдСрдкрд░реЗрд╢рди рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рд╣реИрдВред
рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рддрд╛рд░ рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рд╣реИ, рджреВрд╕рд░рд╛ рдкреВрд░реНрдгрд╛рдВрдХ рдХреА рдПрдХ рд╕рд░рдгреА рдХреА рддрд░рд╣ рд╣реИред рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд┐рдЦрд╛
рдерд╛ рдФрд░ рдЗрд╕реА рддрд░рд╣ рдХреА рд╕реНрдерд┐рддрд┐ рдиреЗ рдореБрдЭреЗ рдкреАрдбрд╝рд┐рдд рдХрд┐рдпрд╛ред рдЕрдм рдкрд╛рдпрдерди рдореЗрдВ рдХреЛрдб рд▓рд┐рдЦрдирд╛ рдореБрдЭреЗ рдЧрдВрднреАрд░ рдЕрд╕реБрд╡рд┐рдзрд╛ рджреЗрддрд╛ рд╣реИ рдпрд╛ рдмреЗрд╣рдж рдЕрдХреНрд╖рдо рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдм рдЖрдкрдХреЛ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдбреЗрдЯрд╛ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рдирд╛ рд╣реЛрдЧрд╛ред рдЗрд╕ рд╡рдЬрд╣ рд╕реЗ, рдХреЛрдб рд▓рд┐рдЦрдирд╛ рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдХрд┐ рд╕рднреА рдпреВрдирд┐рдХреЛрдб рд╕рд┐рджреНрдзрд╛рдВрдд рдореЗрдВ рдмрд╣реБрдд рдЕрдЪреНрдЫреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдиреБрдкрдпреБрдХреНрдд рд╣реИрдВред
рдкрд╛рдпрдерди 3 рдЙрди рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдмреИрд╕рд╛рдЦреА рдХреЗ рдПрдХ рд╕рдореВрд╣ рдХреЗ рд╕рд╛рде рднрд░рд╛ рд╣реБрдЖ рд╣реИ рдЬрд╣рд╛рдВ рдпреВрдирд┐рдХреЛрдб рдХреЛ рд╕рдВрднрд╛рд▓рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ, рдФрд░ рдореЗрд░реЗ рдЬреИрд╕реЗ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рдРрд╕реА рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣ рд╕рдм рдмрд╣реБрдд рдХрд╖реНрдЯрдкреНрд░рдж рд╣реИред
рд╣рдорд╛рд░реА рдмреИрд╕рд╛рдЦреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреА
2.x рд╢рд╛рдЦрд╛ рдореЗрдВ рдпреВрдирд┐рдХреЛрдб рдХрд╛ рд╕рдорд░реНрдерди рдЕрдкреВрд░реНрдг рд╣реИ рдФрд░ рдЖрджрд░реНрд╢ рд╕реЗ рдмрд╣реБрдд рджреВрд░ рд╣реИред рдпреЗ рдПрдкреАрдЖрдИ рдЧрд╛рдпрдм рд╣реИрдВ, рд╡рд┐рднрд┐рдиреНрди рдХреЛрдгреЛрдВ рд╕реЗ рдЖ рд░рд╣реА рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╣рдордиреЗ рдпрд╣ рд╕рдм рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдкрд╣рд▓реЗ рдХрд┐рдП рдЧрдП рдХрдИ рддрд░реАрдХреЛрдВ рдХреЛ рдЕрдм рдкрд╛рдпрдерди 3 рдореЗрдВ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдХреБрдЫ рдПрдкреАрдЖрдИ рдХреЛ рдкрд╛рдпрдерди 3 рдХреЗ рд╕рд╛рде рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдореЗрд░рд╛ рдкрд╕рдВрджреАрджрд╛ рдЙрджрд╛рд╣рд░рдг рдлрд╝рд╛рдЗрд▓ рдзрд╛рд░рд╛рдУрдВ рдХрд╛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╣реИ, рдЬреЛ рдпрд╛ рддреЛ рдмрд╛рдЗрдЯ рдпрд╛ рдкрд╛рда рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рддрд░реАрдХрд╛ рдирд╣реАрдВ рдерд╛ рдХрд┐ рд╣рдо рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХреА рдзрд╛рд░рд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЬрд┐рд╕ рдЯреНрд░рд┐рдХ рдХреЛ рдореИрдВрдиреЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдмрдирд╛рдиреЗ рдореЗрдВ рдорджрдж рдХреА рд╡рд╣ рдЕрдкрдиреЗ рдкреНрд░рдХрд╛рд░ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдЯреНрд░реАрдо рд╕реЗ рд╢реВрдиреНрдп рдмрд╛рдЗрдЯреНрд╕ рдкрдврд╝ рд░рд╣реА рдереАред рдЕрдм рдпрд╣ рдЯреНрд░рд┐рдХ
рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣реА рд╣реИ ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, urllib рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЕрдиреБрд░реЛрдз рдлреНрд▓рд╛рд╕реНрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд╛рд╕ рдХрд░рдирд╛, рдЬреЛ JSON рдХреЛ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рддрд╛ рд╣реИ, рдкрд╛рдпрдерди 3 рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд╛рдпрдерди 2 рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:
>>> from urllib.request import urlopen >>> r = urlopen('https://pypi.python.org/pypi/Flask/json') >>> from flask import json >>> json.load(r) Traceback (most recent call last): File "decoder.py", line 368, in raw_decode StopIteration
рдлреЗрдВрдХреЗ рдЧрдП рдЕрдкрд╡рд╛рдж рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рджреМрд░рд╛рди, рдПрдХ рдФрд░ рдлреЗрдВрдХ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: No JSON object could be decoded
рддреЛ рдХреНрдпрд╛?
рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпреВрдирд┐рдХреЛрдб рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдкрд╛рдпрдерди 3 рдореЗрдВ рдЕрдиреНрдп рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рд╣реИред рдореИрдВрдиреЗ рдкрд╛рдпрдерди рдХреЗ рдЯреНрд╡рд┐рдЯрд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕реЗ рд╕рджрд╕реНрдпрддрд╛ рд╕рдорд╛рдкреНрдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдпрд╣ рдкрдврд╝рдХрд░ рдердХ рдЧрдпрд╛ рдерд╛ рдХрд┐ рдкрд╛рдпрдерди 3 рдорд╣рд╛рди рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдореЗрд░реЗ рдЕрдиреБрднрд╡ рдХреЗ рд╡рд┐рдкрд░реАрдд рд╣реИред рд╣рд╛рдВ, рдкрд╛рдпрдерди 3 рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЕрдЪреНрдЫреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдмрд╛рдЗрдЯ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдЙрдиреНрд╣реЛрдВрдиреЗ рдХреНрдпрд╛ рдХрд┐рдпрд╛ рдФрд░ рдпреВрдирд┐рдХреЛрдб рдЙрди рдкрд░ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред
(рд╕рдмрд╕реЗ рдмреБрд░реА рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдкрд╛рдпрдерди 3 рдХреА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрд╣реБрдд рд╕реА рд╢рд╛рдВрдд рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдЖрдорддреМрд░ рдкрд░ рдХреЗрд╡рд▓ рдкрд╛рдпрдерди рдореЗрдВ рд╣реА рдХрд╛рдо рдХрд░рддреА рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЧреИрд░-рдлреЛрдХрд▓, рдПрд╕рдПрдирдЖрдИ рдПрд╕рдПрд╕рдПрд▓ рд╕рдорд░реНрдерди рдЖрджрд┐ рд╕реЗ рдЙрдкрдЬред)
рдЗрд╕ рддрдереНрдп рдХреЗ рдкреНрд░рдХрд╛рд╢ рдореЗрдВ
рдХрд┐ рдкрд╛рдпрдерди рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдХреЗрд╡рд▓ 3% рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдкрд╛рдпрдерди 3 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ , рдФрд░ рдЯреНрд╡рд┐рдЯрд░ рдкрд░ рдкрд╛рдпрдерди рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЬреЛрд░ рд╕реЗ рдШреЛрд╖рдгрд╛ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдкрд╛рдпрдерди 3 рдХреЗ рд▓рд┐рдП рдкреНрд░рд╡рд╛рд╕ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рдИ рдЬрд╛ рд░рд╣реА рд╣реИ, рдореИрдВ рдирд┐рд░рд╛рд╢ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ рдкрд╛рдпрдерди 3 рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рдЕрдиреБрднрд╡ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдореИрдВ рдмрд╛рдж рд╕реЗ рдХреИрд╕реЗ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдирд╛ред
рдореИрдВ рдЕрдм рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛, рд▓реЗрдХрд┐рди рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдкрд╛рдпрдерди 3 рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдЯреАрдо рд╕рдореБрджрд╛рдп рдХреЛ рдереЛрдбрд╝рд╛ рдФрд░ рд╕реБрдиреЗрдВред рд╣рдо рдореЗрдВ рд╕реЗ 97% рдХреЗ рд▓рд┐рдП, рдкрд╛рдпрдерди 2 рдПрдХ рдЖрд░рд╛рдорджрд╛рдпрдХ рдЫреЛрдЯреА рджреБрдирд┐рдпрд╛ рд╣реИ рдЬрд╣рд╛рдБ рд╣рдо рд╡рд░реНрд╖реЛрдВ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдЬрдм рд╡реЗ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЖрддреЗ рд╣реИрдВ рдФрд░ рдШреЛрд╖рдгрд╛ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рд╕реНрдерд┐рддрд┐ рдХрд╛рдлреА рджрд░реНрджрдирд╛рдХ рд╣реЛрддреА рд╣реИ: рдкрд╛рдпрдерди 3 рд╕реБрдВрджрд░ рд╣реИ рдФрд░ рдЗрд╕ рдкрд░ рдЪрд░реНрдЪрд╛ рдирд╣реАрдВ рдХреА рдЧрдИ рд╣реИред рдпрд╣ рдмрд╕ рдХрдИ рдкреНрд░рддрд┐рдЧрдорди рдХреЗ рдкреНрд░рдХрд╛рд╢ рдореЗрдВ рдорд╛рдорд▓рд╛ рдирд╣реАрдВ рд╣реИред рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдорд┐рд▓рдХрд░ рдЬреЛ Python 2.8 рдФрд░ Stackless Python 2.8 рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдпрд╣ рдХреНрдпрд╛ рд╡рд┐рдлрд▓рддрд╛ рд╣реИ рдЕрдЧрд░ рдпрд╣ рдЙрд╕рдХреЗ рдкрд╛рд╕ рдирд╣реАрдВ рд╣реИред