рдПрдХ рдмрд╛рд░, рдореЗрд░реЗ рдЫрд╛рддреНрд░ рджрд┐рдиреЛрдВ рдореЗрдВ, рдореБрдЭреЗ рдПрдХ рдЕрдЬрдЧрд░ рджреНрд╡рд╛рд░рд╛ рдХрд╛рдЯ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдКрд╖реНрдорд╛рдпрди рдЕрд╡рдзрд┐ рдореЗрдВ рджреЗрд░реА рд╣реБрдИ рдФрд░ рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдореИрдВ рдПрдХ рдореЛрддреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдмрди рдЧрдпрд╛ред
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдХреБрдЫ рдмрд┐рдВрджреБ рдкрд░, рдореЛрддреА рдиреЗ рдЦреБрдж рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░ рд▓рд┐рдпрд╛ рдФрд░ рдореИрдВрдиреЗ рдЕрдЬрдЧрд░ рдХреЛ рд▓реЗрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдореИрдВрдиреЗ рдмрд╕ рдХреБрдЫ рдХрд┐рдпрд╛ рдФрд░ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдХрд┐ рдЗрд╕ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдФрд░ рддрдм рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ рдореБрдЭреЗ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЬреНрдЮрд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рдХрдИ рдХрд┐рддрд╛рдмреЗрдВ рдкрдврд╝реЗрдВ
- рдмрд┐рд▓ рд▓реНрдпреБрдмрдиреЛрд╡рд┐рдЪ тАЬрд╕рд┐рдВрдкрд▓ рдкрд╛рдпрдердиред рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреА рдЖрдзреБрдирд┐рдХ рд╢реИрд▓реА тАЭ
- рджрд╛рди рдмрджрд░ "рд╢реБрджреНрдз рдЕрдЬрдЧрд░ред рдкреЗрд╢реЗрд╡рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреА рд╕реВрдХреНрд╖реНрдорддрд╛ ┬╗
- рдмреНрд░реЗрдЯ рд╕реНрд▓рд╛рдЯрдХрд┐рди "рдкрд╛рдпрдерди рд╕реАрдХреНрд░реЗрдЯ: рдкреНрд░рднрд╛рд╡реА рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП 59 рдЯрд┐рдкреНрд╕"
рдЬреЛ рдореБрдЭреЗ рднрд╛рд╖рд╛ рдХреА рдмреБрдирд┐рдпрд╛рджреА рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рдЙрдкрдпреБрдХреНрдд рд▓рдЧ рд░рд╣рд╛ рдерд╛, рд╣рд╛рд▓рд╛рдБрдХрд┐ рдореБрдЭреЗ рдЙрдирдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╕реНрд▓реЙрдЯреНрд╕ рдпрд╛рдж рдирд╣реАрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ - рдЕрдЧрд░ рдореИрдВрдиреЗ рдЗрд╕реЗ рдореЗрдореЛрд░реА рд╕реЗ рджрдмрд╛рдпрд╛ рд╣реИ, рддреЛ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд┐рдзрд┐ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрдЧреА, рд▓реЗрдХрд┐рди рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдпрд╣ рд╕рдм рд╕реНрдерд┐рддрд┐ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред
рдирддреАрдЬрддрди, рдореИрдВрдиреЗ рдЕрдЬрдЧрд░ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдиреЛрдЯ рд╕рдВрдЪрд┐рдд рдХрд┐рдП рд╣реИрдВ, рдЬреЛ рдХрд┐, рдореБрдЭреЗ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ, рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рд╕реЗ рдЗрд╕реЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИред
рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдЕрдЬрдЧрд░ рдкрд░ рд╕рд╛рдХреНрд╖рд╛рддреНрдХрд╛рд░ рдХреЗ рджреМрд░рд╛рди рд╡реЗ рдЕрдХреНрд╕рд░ рдЙрди рдЪреАрдЬреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рд╡рд╛рд▓ рдкреВрдЫрддреЗ рд╣реИрдВ рдЬреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡рд┐рдХрд╛рд╕ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ рд╢рдмреНрджрдХреЛрд╢ рдХреА рдХреБрдВрдЬреА рдХреНрдпрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ (рдпрд╛ рдХреНрдпрд╛ x = yield y
рдЕрд░реНрде рд╣реИ), рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рджреЛрд╕реНрддреЛрдВ, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЬреАрд╡рди рдореЗрдВ, рдХреБрдВрдЬреА рд╣реЛ рд╕рдХрддреА рд╣реИ рдХреЗрд╡рд▓ рдПрдХ рд╕рдВрдЦреНрдпрд╛ рдпрд╛ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ, рдЙрди рдЕрджреНрд╡рд┐рддреАрдп рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЬрдм рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдк рдкреНрд░рд▓реЗрдЦрди рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХреНрдпреЛрдВ рдкреВрдЫреЗрдВ? рдпрд╣ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд╕рд╛рдХреНрд╖рд╛рддреНрдХрд╛рд░рдХрд░реНрддрд╛ рдХреЛ рдХреНрдпрд╛ рдирд╣реАрдВ рдкрддрд╛ рд╣реИ? рдЗрд╕рд▓рд┐рдП рдЕрдВрдд рдореЗрдВ, рд╣рд░ рдХрд┐рд╕реА рдХреЛ рдЗрд╕ рд╡рд┐рд╢реЗрд╖ рдкреНрд░рд╢реНрди рдХрд╛ рдЙрддреНрддрд░ рдпрд╛рдж рд╣реЛрдЧрд╛ рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗрдЧрд╛ред
рдореИрдВ рдЕрдЬрдЧрд░ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ 3.5 рд╕реЗ рдЕрдзрд┐рдХ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдорд╛рдирддрд╛ рд╣реВрдВ ( рдпрд╣ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рджреВрд╕рд░реЗ рдЕрдЬрдЧрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓ рдЬрд╛рдиреЗ рдХрд╛ рд╕рдордп рд╣реИ ) рдпрд╣ рд╕реНрдерд┐рд░ рдбреЗрдмрд┐рдпрди рдореЗрдВ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЕрдиреНрдп рд╕рднреА рд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ рд╣рд╛рд▓ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рд╣реИрдВ)
рдЪреВрдВрдХрд┐ рдореИрдВ рдПрдХ рдЕрдЬрдЧрд░ рдЧреБрд░реБ рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЕрдЧрд░ рд╡реЗ рдЕрдЪрд╛рдирдХ рдХрд┐рд╕реА рддрд░рд╣ рдХреА рдореВрд░реНрдЦрддрд╛ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рд╡реЗ рдореБрдЭреЗ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рд╕рд╣реА рдХрд░ рджреЗрдВрдЧреЗред
рдЯрд╛рдЗрдкрд┐рдВрдЧ
рдкрд╛рдпрдерди рдПрдХ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдЯрд╛рдЗрдк рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рднрд╛рд╖рд╛ рд╣реИ рдпрд╛рдиреА рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рд░рдирдЯрд╛рдЗрдо рдкрд░ рдорд┐рд▓рд╛рди рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ рдХрд░рддрд╛ рд╣реИ:
cat type.py a=5 b='5' print(a+b)
рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:
python3 type.py ... TypeError: unsupported operand type(s) for +: 'int' and 'str'
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрджрд┐ рдЖрдкрдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реНрдереИрддрд┐рдХ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдкрдХреНрд╡ рд╣реЛ рдЧрдИ рд╣реИ, рддреЛ рдЕрдЬрдЧрд░ рднреА mypy
рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдРрд╕рд╛ рдЕрд╡рд╕рд░ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ:
mypy type.py type.py:3: error: Unsupported operand types for + ("int" and "str")
рд╕рдЪ рд╣реИ, рд╕рднреА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдирд╣реАрдВ рдкрдХрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ:
cat type2.py def greeting(name): return 'Hello ' + name greeting(5)
mypy рдпрд╣рд╛рдВ рд╢рдкрде рдирд╣реАрдВ рд▓реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рджреМрд░рд╛рди рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реЛрдЧреА, рдЗрд╕рд▓рд┐рдП рдЕрдЬрдЧрд░ рдХреЗ рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ:
cat type3.py def greeting(name: str) -> str: return 'Hello ' + name greeting(5)
рдФрд░ рдЕрдм:
mypy type3.py type3.py:4: error: Argument 1 to "greeting" has incompatible type "int"; expected "str"
рдЪрд░ рдФрд░ рдбреЗрдЯрд╛
рдЕрдЬрдЧрд░ рдореЗрдВ рдЪрд░ рдбреЗрдЯрд╛ рдХреЛ рд╕реНрдЯреЛрд░ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдЙрдиреНрд╣реЗрдВ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдбреЗрдЯрд╛ рдЙрддреНрдкрд░рд┐рд╡рд░реНрддрдиреАрдп (рдореНрдпреВрдЯреЗрдмрд▓) рдФрд░ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп (рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп) рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдпрд╣ рд▓рдЧрднрдЧ рд╕рдорд╛рди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдбреЗрдЯрд╛ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рднрд┐рдиреНрди рд╡реНрдпрд╡рд╣рд╛рд░ рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдРрд╕рд╛ рдХреЛрдб:
x = 1 y = x x = 2 print(y)
рдЗрд╕ рддрдереНрдп рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЪрд░ x
рдФрд░ y
рдЕрд▓рдЧ-рдЕрд▓рдЧ рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣:
x = [1, 2, 3] y = x x[0] = 7 print(y)
рдирд╣реАрдВ, x
рдФрд░ y
рдПрдХ рд╣реА рд╕реВрдЪреА рдХреЗ рд▓рд┐рдВрдХ рдмрдиреЗ рд╣реБрдП рд╣реИрдВ (рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЬреИрд╕рд╛ рдХрд┐ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдмрд╣реБрдд рд╕рдлрд▓ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЕрднреА рддрдХ рдмреЗрд╣рддрд░ рдирд╣реАрдВ рд╕реЛрдЪрд╛ рд╣реИ) рдХрд┐ рдЕрдЬрдЧрд░ рдореЗрдВ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдЖрдк рдСрдкрд░реЗрдЯрд░ рдХреЗ рд╕рд╛рде рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдЬрд╛рд╡рд╛ рдХреЗ рдирд┐рд░реНрдорд╛рддрд╛ рд╣рдореЗрд╢рд╛ рдЕрдЪреНрдЫреА рдиреАрдВрдж рдЦреЛ рджреЗрдВрдЧреЗ) рд╢рд░реНрдо рдХреА рдмрд╛рдд рд╣реИ рдЬрдм рдореБрдЭреЗ рдЕрдЬрдЧрд░ рдореЗрдВ рдЗрд╕ рдСрдкрд░реЗрдЯрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рдЪрд▓рд╛)ред
рдпрджреНрдпрдкрд┐ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдПрдХ рд╕реВрдЪреА рдХреА рддрд░рд╣ рджрд┐рдЦрддреА рд╣реИрдВ, рд╡реЗ рдПрдХ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рд╕реНрд╡рдпрдВ рдирд╣реАрдВ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЖрдк рдХреЗрд╡рд▓ рдПрдХ рдирдпрд╛ рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрдк рдЪрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдорд╛рди рдЕрд╕рд╛рдЗрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореВрд▓ рдбреЗрдЯрд╛ рдирд╣реАрдВ рдмрджрд▓реЗрдЧрд╛:
>>> mystr = 'sss' >>> newstr = mystr # >>> mystr[0] = 'a' ... TypeError: 'str' object does not support item assignment >>> mystr = 'ssa' # >>> newstr # 'sss'
рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреА рдмрд╛рдд рдХрд░реЗрдВ, рддреЛ рдЙрдирдХреА рдкреНрд░рддрд┐рд░рдХреНрд╖рд╛ рдХреЗ рдХрд╛рд░рдг, рд▓реВрдк рдореЗрдВ рдЬреЛрдбрд╝ рдпрд╛ рдЕрдкреЗрдВрдб рдХрд░рдХреЗ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреА рдПрдХ рдмрд╣реБрдд рдмрдбрд╝реА рд╕реВрдЪреА рдХреЛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдХрд░рдирд╛ рдмрд╣реБрдд рдкреНрд░рднрд╛рд╡реА рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ (рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рд╕рдВрдХрд▓рдХ / рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдЖрдзрд╛рд░ рдкрд░), рдЖрдорддреМрд░ рдкрд░ рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЙрдЗрди рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдЬрд╛рддреА рд╣реИ, рдЬреЛ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддрд╛ рд╣реИ рдереЛрдбрд╝рд╛ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд:
>>> str_list = ['ss', 'dd', 'gg'] >>> 'XXX'.join(str_list) 'ssXXXddXXXgg' >>> str = 'hello' >>> 'XXX'.join(str) 'hXXXeXXXlXXXlXXXo'
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╡рд╣ рд░реЗрдЦрд╛ рдЬрд╣рд╛рдБ рд╡рд┐рдзрд┐ рдХреЛ рд╡рд┐рднрд╛рдЬрдХ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рди рдХрд┐ рдПрдХ рдирдИ рдкрдВрдХреНрддрд┐ рдХреА рд╢реБрд░реБрдЖрдд, рдЬреИрд╕рд╛ рдХрд┐ рдХреЛрдИ рд╕реЛрдЪ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рджреВрд╕рд░реА рдмрд╛рдд, рдЖрдкрдХреЛ рдПрдХ рд╕реВрдЪреА (рдкреБрдирд░рд╛рд╡реГрддреНрдд рд╡рд╕реНрддреБ) рдкрд╛рд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдПрдХ рдЕрд▓рдЧ рд░реЗрдЦрд╛ рдирд╣реАрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рдЪрд▓рдиреЗ рдпреЛрдЧреНрдп рд╡рд╕реНрддреБ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдкреНрд░рддреАрдХ рд╣реЛрдЧрд╛ ред
рдЪреВрдБрдХрд┐ рдЪрд░ рд▓рд┐рдВрдХ рд╣реЛрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдХрд┐рд╕реА рд╡рд╕реНрддреБ рдХреА рдПрдХ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдирд╛ рд╕рд╛рдорд╛рдиреНрдп рд╣реИ, рддрд╛рдХрд┐ рдореВрд▓ рд╡рд╕реНрддреБ рдХреЛ рди рддреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХреЗ, рд▓реЗрдХрд┐рди рдПрдХ рдЧрдбрд╝рдмрдбрд╝реА рд╣реИ - рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдлрд╝рдВрдХреНрд╢рди рдХреЗрд╡рд▓ рдПрдХ рд╕реНрддрд░ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рддрд╛ рд╣реИ, рдЬреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЗрд╕ рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рдЕрдкреЗрдХреНрд╖рд┐рдд рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП deepcopy
рдЙрдкрдпреЛрдЧ deepcopy
ред
рдирдХрд▓ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛ рддрдм рд╣реЛ рд╕рдХрддреА рд╣реИ рдЬрдм рдПрдХ рд╕рдВрдЧреНрд░рд╣ рдХреЛ рд╕реНрдХреЗрд▓рд░ рд╕реЗ рдЧреБрдгрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣рд╛рдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ ред
рдХреНрд╖реЗрддреНрд░
рд╕реНрдХреЛрдк рд╡рд┐рд╖рдп рд╢рд╛рдпрдж рдПрдХ рдЕрд▓рдЧ рд▓реЗрдЦ рдХрд╛ рд╣рдХрджрд╛рд░ рд╣реИ, рд▓реЗрдХрд┐рди рдПрд╕рдУ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЬрд╡рд╛рдм рд╣реИ ред
рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рджрд╛рдпрд░рд╛ рдЕрд╡реНрдпрд╡рд╕реНрдерд┐рдд рд╣реИ рдФрд░ рджреГрд╢реНрдпрддрд╛ рдХреЗ рдЫрд╣ рдХреНрд╖реЗрддреНрд░ рд╣реИрдВ - рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╢рд░реАрд░ рдореЗрдВ рд╡реИрд░рд┐рдПрдмрд▓, рдХреНрд▓реЛрдЬрд░ рдореЗрдВ, рдореЙрдбреНрдпреВрд▓ рдореЗрдВ, рдХреНрд▓рд╛рд╕ рдмреЙрдбреА рдореЗрдВ, рдмрд┐рд▓реНрдЯ-рдЗрди рдкрд╛рдЗрдерди рдлрд╝рдВрдХреНрд╢рдВрд╕ рдФрд░ рд╡реИрд░рд┐рдПрдмрд▓ рдЗрди рд▓рд┐рд╕реНрдЯ рдФрд░ рдЕрдиреНрдп рдЗрдВрдХреНрд▓реВрдЬрд╝рдиред
рдПрдХ рд╕реВрдХреНрд╖реНрдорддрд╛ рд╣реИ - рд▓реЗрдХреНрд╕рд┐рдХрд▓реА рдиреЗрд╕реНрдЯреЗрдб рдиреЗрдорд╕реНрдкреЗрд╕ рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡реЗрд░рд┐рдПрдмрд▓ рдкрдардиреАрдп рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдВрд╢реЛрдзрди рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рдХреАрд╡рд░реНрдб nonlocal
рдФрд░ global
рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬрд┐рд╕рд╕реЗ рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдХреЛ рдПрдХ рд╕реНрддрд░ рдЙрдЪреНрдЪ рдпрд╛ рд╡реИрд╢реНрд╡рд┐рдХ рджреГрд╢реНрдпрддрд╛ рдХреНрд░рдорд╢рдГ рд╕рдВрд╢реЛрдзрд┐рдд рдХреА рдЬрд╛ рд╕рдХреЗред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдХреЛрдб рдЗрд╕ рддрд░рд╣:
x = 7 print(id(x)) def func(): print(id(x)) return x print(func())
рдпрд╣ рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдПрдХ:
x = 7 print(id(x)) def func(): x = 1 print(id(x)) return x print(func()) print(x)
рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рд╕реНрдерд╛рдиреАрдп рд╡реНрдпрдХреНрддрд┐ рд╣реИред
рдореЗрд░реЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИ, рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдХрд┐рд╕реА рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдЧреИрд░-рд╕реНрдерд╛рдиреАрдп рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ, рдЗрд╕рдХреЗ рд╣рд╕реНрддрд╛рдХреНрд╖рд░, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЗрд╕реЗ рдлрд╝рдВрдХреНрд╢рди рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдФрд░ рджреГрд╢реНрдпрдорд╛рди рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреАрд╡рд░реНрдб рдмрд╣реБрдд рдЬрд╛рдирдХрд╛рд░реАрдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИрдВ - global
рдзреНрд╡рдирд┐рдпрд╛рдВ рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рдлрд╝рдВрдХреНрд╢рди рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдХреА рддрд░рд╣ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕рдХрд╛ рдорддрд▓рдм use global
ред
рдЕрдЬрдЧрд░ рдореЗрдВ рдХреЛрдИ рдЕрдирд┐рд╡рд╛рд░реНрдп рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБ рдирд╣реАрдВ рд╣реИ, рдЬрд╣рд╛рдВ рд╕реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдХрдИ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдмрд╕ рдореЙрдбреНрдпреВрд▓ рд╕реНрддрд░ рдкрд░ рд▓рд┐рдЦреА рдЧрдИ рд╕рднреА рдЪреАрдЬреЛрдВ рдХреЛ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЪреВрдВрдХрд┐ рдореЙрдбреНрдпреВрд▓ рд╕реНрддрд░ рдкрд░ рдЪрд░ рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рд╣реИрдВ, рдореЗрд░реЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рдпрд╣ рдЕрдЪреНрдЫрд╛ рдЕрднреНрдпрд╛рд╕ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдореБрдЦреНрдп рдХреЛрдб рдХреЛ main()
рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рд╕рдореЗрдЯрдирд╛, рдЗрд╕рдХреЗ рдмрд╛рдж рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЕрдВрдд рдореЗрдВ рдХреЙрд▓:
if __name__ == '__main__': main()
рдпрджрд┐ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдпрд╛рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдпрд╣ рд╕реНрдерд┐рддрд┐ рдХрд╛рдо рдХрд░реЗрдЧреАред
рдХрд╛рд░реНрдп рддрд░реНрдХ
рдкрд╛рдпрдерди рдлрд╝рдВрдХреНрд╢рди рдХреЗ рддрд░реНрдХреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╕ рдард╛рда рдХреЗ рдЕрд╡рд╕рд░ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ - рд╕реНрдерд┐рддрд┐рдЧрдд, рдирд╛рдорд┐рдд рддрд░реНрдХ рдФрд░ рдЙрдирдХреЗ рд╕рдВрдпреЛрдЬрдиред
рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдХрд┐ рддрд░реНрдХ рдХреИрд╕реЗ рдкрд╛рд░рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ - рдХреНрдпреЛрдВрдХрд┐ рдЕрдЬрдЧрд░ рдореЗрдВ, рд╕рднреА рдЪрд░ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдВрдХ рд╣реЛрддреЗ рд╣реИрдВ, рдлрд┐рд░ рдЖрдк рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рд╕рдВрджрд░реНрдн рд╕реЗ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдЦрд╝рд╛рд╕рд┐рдпрдд рд╣реИ - рд▓рд┐рдВрдХ рд╕реНрд╡рдпрдВ рдореВрд▓реНрдп рджреНрд╡рд╛рд░рд╛ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЕрд░реНрдерд╛рддреН рдЖрдк рд╕рдВрджрд░реНрдн рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рд╡рд░реНрддрдирд╢реАрд▓ рдореВрд▓реНрдп рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
def add_element(mylist): mylist.append(3) mylist = [1,2] add_element(mylist) print(mylist)
рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:
python3 arg_modify.py [1, 2, 3]
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЖрдк рдХрд┐рд╕реА рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдореВрд▓ рд▓рд┐рдВрдХ рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
def try_del(mylist): mylist = [] return mylist mylist = [1,2] try_del(mylist) print(mylist)
рд╕реНрд░реЛрдд рд▓рд┐рдВрдХ рдЬреАрд╡рд┐рдд рд╣реИ рдФрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ:
python3 arg_kill.py [1, 2]
рдЖрдк рддрд░реНрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рднреА рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╛рдж рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЧреИрд░-рд╕реНрдкрд╖реНрдЯ рдЪреАрдЬрд╝ рд╣реИ: рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╕рдордп рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рдиреЛрдВ рдХреА рдПрдХ рдмрд╛рд░ рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ, рдЗрд╕рд╕реЗ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рдмрдирддреА рд╣реИ рдпрджрд┐ рдЖрдк рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рдбреЗрдЯрд╛ рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдпрджрд┐ рдЖрдк рдкрд╛рд╕ рд╣реЛрддреЗ рд╣реИрдВ рдЪрд░ рдбреЗрдЯрд╛ рдпрд╛ рдЧрддрд┐рд╢реАрд▓ рдореВрд▓реНрдп, рдкрд░рд┐рдгрд╛рдо рдереЛрдбрд╝рд╛ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд╣реЛрдЧрд╛:
рдкрд░рд┐рд╡рд░реНрддрдирд╢реАрд▓ рдбреЗрдЯрд╛:
cat arg_list.py def func(arg = []): arg.append('x') return arg print(func()) print(func()) print(func())
рдкрд░рд┐рдгрд╛рдо:
python3 arg_list.py ['x'] ['x', 'x'] ['x', 'x', 'x']
рдЧрддрд┐рд╢реАрд▓ рдореВрд▓реНрдп:
cat arg_now.py from datetime import datetime def func(arg = datetime.now()): return arg print(func()) print(func()) print(func())
рд╣рдореЗрдВ рдорд┐рд▓рддрд╛ рд╣реИ:
python3 arg_now.py 2018-09-28 10:28:40.771879 2018-09-28 10:28:40.771879 2018-09-28 10:28:40.771879
PLO
рдЕрдЬрдЧрд░ рдореЗрдВ OOP рдмрд╣реБрдд рд╣реА рд░реЛрдЪрдХ рддрд░реАрдХреЗ рд╕реЗ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдХреБрдЫ рдЧреБрдг рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рд╣реИрдВ) рдФрд░ рдпрд╣ рдПрдХ рдмрдбрд╝рд╛ рд╡рд┐рд╖рдп рд╣реИ, рд▓реЗрдХрд┐рди OOP рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╕рдкрдирд┐рдпрд╛рдВ рд╕рдм рдХреБрдЫ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЧреВрдЧрд▓ рдХрд░ рд╕рдХрддреА рд╣реИрдВ (рдпрд╛ рдЗрд╕реЗ рд╣рдм рдкрд░ рдкрд╛ рд╕рдХрддреА рд╣реИрдВ), рдЗрд╕рд▓рд┐рдП рдЙрд╕реЗ рджреЛрд╣рд░рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдХрд╣рдирд╛ рд╕рд╛рд░реНрдердХ рд╣реИ рдХрд┐ рдЕрдЬрдЧрд░ рдереЛрдбрд╝рд╛ рдЫреЛрдЯрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдПрдХ рдЕрд▓рдЧ рджрд░реНрд╢рди - рдХрд┐ рдорд╢реАрдиреЛрдВ рд╣реЛрд╢рд┐рдпрд╛рд░ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░, рдФрд░ рдПрдХ рдЦрддрд░рд╛ рдирд╣реАрдВ рд╣реИ (рдпреБрдкреАрдбреА: рдЕрдзрд┐рдХ ), рддреЛ рдЕрдЬрдЧрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдкрд╣реБрдБрдЪ рд╕рдВрд╢реЛрдзрдХ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕рд╛рдорд╛рдиреНрдп рд╣реИ: рдирд┐рдЬреА рддрд░реАрдХреЛрдВ рдПрдХ рдбрдмрд▓ рдЕрдВрдбрд░рд╕реНрдХреЛрд░ (рдЬреЛ рд╡рд┐рдзрд┐ рдирд╛рдо рдХреЗ рдХреНрд░рдо рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдЬреЛрдбрд╝рдХрд░ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ OAPC рд╣реИ рдереНрд░реЗрдб рд╕рдВрд░рдХреНрд╖рд┐рдд рдПрдХ рдЕрдВрдбрд░рд╕реНрдХреЛрд░ (рдХрд┐ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП) рдореМрдХрд╛ рд╣реИ, рдФрд░, рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рдирд╛рдордХрд░рдг рдкрд░рдВрдкрд░рд╛ рд╣реИ)ред
рдЬреЛ рд▓реЛрдЧ рд╕рд╛рдорд╛рдиреНрдп рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВ рд╡реЗ рдЕрдЬрдЧрд░ рдХреЗ рд▓рд┐рдП рдРрд╕реЗ рдЕрд╡рд╕рд░ рд▓рд╛рдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреА рддрд▓рд╛рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХреБрдЫ рд╡рд┐рдХрд▓реНрдк ( рд▓реИрдВрдЧ , рдкрд╛рдпрдерди-рдПрдХреНрд╕реЗрд╕ ) рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдЧреБрдЧрд▓реЗ рдХрд┐рдП рдЧрдП рдереЗ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЙрдиреНрд╣реЗрдВ рдкрд░реАрдХреНрд╖рдг рдпрд╛ рдЕрдзреНрдпрдпрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛ред
рдорд╛рдирдХ рдХрдХреНрд╖рд╛рдУрдВ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рд╢реВрдиреНрдп рдХрд┐рд╕реА рднреА рдбрдВрдбрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдореЗрдВ рдмреЙрдпрд▓рд░рдкреНрд▓реЗрдЯ рдХреЛрдб рд╣реИ, рдореБрдЭреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдЕрдЯреНрд░реИрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкрд╕рдВрдж рд╣реИ, рдпрд╣ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдкрд╛рдпрдереЛрдирд┐рдХ рд╣реИред
рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдЪреВрдВрдХрд┐ рдкрд╛рдпрдерди рдореЗрдВ рд╕рднреА рдлрд╝рдВрдХреНрд╢рди, рдФрд░ рдлрд╝рдВрдХреНрд╢рди рд╕рд╣рд┐рдд рдХрдХреНрд╖рд╛рдПрдВ, рдкреНрд░рдХрд╛рд░ рдлрд╝рдВрдХреНрд╢рди рджреНрд╡рд╛рд░рд╛ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ ( eval
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛) рдХрдХреНрд╖рд╛рдПрдВ рдмрдирд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИрдВред
рдпрд╣ рдореЗрдЯрд╛рдХреНрд▓рд╛рд╕ ( рд╣реИрдмрд░ рдкрд░ ) рдФрд░ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ ( рд╣реИрдмрд░ ) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рдкрдврд╝рдиреЗ рд▓рд╛рдпрдХ рд╣реИред
рдПрдХ рдЦрд╝рд╛рд╕рд┐рдпрдд рдЬреЛ рдпрд╛рдж рд░рдЦрдиреЗ рд▓рд╛рдпрдХ рд╣реИ, рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рд╡рд░реНрдЧ рдФрд░ рд╡рд╕реНрддреБ рдХреЗ рдЧреБрдг рдПрдХ рд╣реА рдЪреАрдЬрд╝ рдирд╣реАрдВ рд╣реИрдВ, рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдкреИрджрд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ "рд╢реЗрдбрд┐рдВрдЧ" рд╣реИрдВ - рдЙрд╕реА рдирд╛рдо рдХреЗ рд╕рд╛рде рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдкрд░рд┐рд╡рд░реНрддрдирд╢реАрд▓ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЖрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЕрдкреЗрдХреНрд╖рд┐рдд рдерд╛, рд╡рд╣ рдирд╣реАрдВ рдорд┐рд▓рд╛:
cat class_attr.py class MyClass: storage = [7,] def __init__(self, number): self.number = number obj = MyClass(1) obj2 = MyClass(2) obj.number = 5 obj.storage.append(8) print(obj2.storage, obj2.number)
рд╣рдореЗрдВ рдорд┐рд▓рддрд╛ рд╣реИ:
python3 class_attr.py [7, 8] 2
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ - рдЙрдиреНрд╣реЛрдВрдиреЗ obj
рдмрджрд▓ рджрд┐рдпрд╛, рдФрд░ storage
рдиреЗ obj2
рдореЗрдВ рднреА рдмрджрд▓ рджрд┐рдпрд╛ред рдпрд╣ рд╡рд┐рд╢реЗрд╖рддрд╛ ( number
рд╡рд┐рдкрд░реАрдд) рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рд╡рд░реНрдЧ рдХреЗ рд▓рд┐рдП рд╣реИред
рд╕реНрдерд┐рд░рд╛рдВрдХ
рдПрдХреНрд╕реЗрд╕ рдореЙрдбрд┐рдлрд╛рдпрд░ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЕрдЬрдЧрд░ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП, рдорд╛рдирдХ рддрд░реАрдХреЗ рд╕реЗ рд╕рдВрд╢реЛрдзрди рд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рдПрдХ рд╕реНрдХреЗрд▓рд░ рдЪрд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ, рдмрд╕ рдПрдХ рд╕рдордЭреМрддрд╛ рд╣реИ рдХрд┐ рдКрдкрд░реА рдорд╛рдорд▓реЗ рдореЗрдВ рдПрдХ рдирд╛рдо рдХреЗ рд╕рд╛рде рдЪрд░ рдХреЛ рд╕реНрдерд┐рд░рд╛рдВрдХ рдорд╛рдирд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рджреВрд╕рд░реА рдУрд░, рдкрд╛рдпрдерди рдореЗрдВ рдЯреВрдкреНрд▓реЗ рдЬреИрд╕реА рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдПрдВ рд╣реЛрддреА рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдк рдХреБрдЫ рд╡реИрд╢реНрд╡рд┐рдХ рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдПрдХ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдФрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдирд┐рд░реНрднрд░рддрд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдирд╛рдорд╛рдВрдХрд┐рдд рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕рдХреЗ рдкреНрд░рдХрд╛рд░реЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдереЛрдбрд╝рд╛ рдФрд░ рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдбреЙрдЯ-рдиреЛрдЯреЗрд╢рди рдХреЗ рд╕рд╛рде рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рд╡реИрдХрд▓реНрдкрд┐рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд╕рдВрдж рд╣реИ - рдмреЙрдХреНрд╕ (рдЬрдореЗ рд╣реБрдП_рдмреЙрдХреНрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рджреЗрдЦреЗрдВ)ред
рдареАрдХ рд╣реИ, рдЕрдЧрд░ рдЖрдк рдЕрджрд┐рд╢ рд╕реНрдерд┐рд░рд╛рдВрдХ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк "рд╕рдВрдХрд▓рди" рдХреЗ рдЪрд░рдг рдореЗрдВ рдЕрднрд┐рдЧрдо рдирд┐рдпрдВрддреНрд░рдг рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ Mypy, рдЙрджрд╛рд╣рд░рдг рдФрд░ рд╡рд┐рд╡рд░рдг рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рдБрдЪ рдХрд░рддрд╛ рд╣реИред
.Sort () рдмрдирд╛рдо рд╕реЙрд░реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ ()
рдЕрдЬрдЧрд░ рдореЗрдВ рдПрдХ рд╕реВрдЪреА рдХреЛ рд╕реЙрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рджреЛ рддрд░реАрдХреЗ рд╣реИрдВред рдкрд╣рд▓рд╛ .sort()
рддрд░реАрдХрд╛ рд╣реИ рдЬреЛ рдореВрд▓ рд╕реВрдЪреА рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХреБрдЫ рдирд╣реАрдВ (рдХреЛрдИ рдирд╣реАрдВ) рд▓реМрдЯрд╛рддрд╛ рд╣реИ рдпрд╛рдиреА рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ:
my_list = my_list.sort()
рджреВрд╕рд░рд╛ sorted()
рдлрд╝рдВрдХреНрд╢рди рд╣реИ, рдЬреЛ рдПрдХ рдирдИ рд╕реВрдЪреА рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рд╕рднреА рдкреБрдирд░рд╛рд╡реГрддреНрдд рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдХреМрди рдЪрд╛рд╣рддрд╛ рд╣реИ рдХрд┐ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА SO рд╕реЗ рд╢реБрд░реВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред
рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп
рдЖрдорддреМрд░ рдкрд░, рдорд╛рдирдХ рдЕрдЬрдЧрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдЖрдо рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдЙрддреНрдХреГрд╖реНрдЯ рд╕рдорд╛рдзрд╛рди рд╢рд╛рдорд┐рд▓ рд╣реЛрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рдХрд╛рдлреА рд╡рд┐рд╖рдорддрд╛рдПрдВ рд╣реИрдВред рд╕рдЪ рд╣реИ, рдпрд╣ рднреА рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ рдЬреЛ рдЕрдЬреАрдм рд▓рдЧрддрд╛ рд╣реИ рд╡рд╣ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рд╣реИ, рдЖрдкрдХреЛ рдмрд╕ рд╕рднреА рд╕реНрдерд┐рддрд┐рдпреЛрдВ (рд░реЗрдВрдЬ рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рджреЗрдЦреЗрдВ) рдХреЛ рдЬрд╛рдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрднреА рднреА рд╡рд┐рд╖рдорддрд╛рдПрдВ рд╣реИрдВред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд┐рдЯ рдХреЗ рд╕рд╛рде рдЖрдиреЗ рд╡рд╛рд▓реЗ рд╕рдмрд╕реЗ рдпреБрдирд┐рдЯ рдпреВрдирд┐рдЯ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЬрд╛рд╡рд╛ рдХреЗ рдЕрдЬрдЧрд░ рдФрд░ рд╕реНрдореИрдХ рд╕реЗ рдХреЛрдИ рд▓реЗрдирд╛-рджреЗрдирд╛ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП, рдЬреИрд╕рд╛ рдХрд┐ рдЕрдЬрдЧрд░ рдХрд╛ рд▓реЗрдЦрдХ рдХрд╣рддрд╛ рд╣реИ : "Eveybody py.test рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ ..."ред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХрд╛рдлреА рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ, рдпрджреНрдпрдкрд┐ рд╣рдореЗрд╢рд╛ рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИ, рд╕рд┐рджреНрдзрд╛рдВрдд рдореЙрдбреНрдпреВрд▓ рдорд╛рдирдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЖрддрд╛ рд╣реИред
рдЖрдкреВрд░реНрддрд┐ рдХрд┐рдП рдЧрдП urllib рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдЕрдиреБрд░реЛрдз рдореЙрдбреНрдпреВрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдРрд╕рд╛ рд╕реБрдВрджрд░ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдирд╣реАрдВ рд╣реИред
рдХрдорд╛рдВрдбрд┐рдВрдЧ рд▓рд╛рдЗрди рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рдХрд╣рд╛рдиреА - рдмрдВрдбрд▓ рдХрд┐рдП рдЧрдП argparse рдорд╕реНрддрд┐рд╖реНрдХ рдХрд╛ OOP рдХрд╛ рдПрдХ рдкреНрд░рджрд░реНрд╢рди рд╣реИ, рдФрд░ docopt рдореЙрдбреНрдпреВрд▓ рд╕рд┐рд░реНрдл рдПрдХ рд╕реНрдорд╛рд░реНрдЯ рд╕рдорд╛рдзрд╛рди рд▓рдЧрддрд╛ рд╣реИ - рдЕрдВрддрд┐рдо рд╕реНрд╡-рджрд╕реНрддрд╛рд╡реЗрдЬреАрдХрд░рдг! рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдлрд╡рд╛рд╣реЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдбреЙрдХрдЯреЙрдк рдФрд░ рдХреНрд▓рд┐рдХ рдХреЗ рдмрд╛рд╡рдЬреВрдж , рдПрдХ рдЖрд▓рд╛ рдмрдиреА рд╣реБрдИ рд╣реИред
рдбрд┐рдмрдЧрд░ рдХреЗ рд╕рд╛рде, рднреА - рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рдЗрд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВ, рдХреБрдЫ рд▓реЛрдЧ рд╢рд╛рдорд┐рд▓ pdb рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ , рдХрдИ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рдбреЗрд╡рд▓рдкрд░реНрд╕ ipdb рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ , рдЬреЛ, рдореЗрд░реЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рдбреАрдмрдЧ рдЖрд╡рд░рдг рдореЙрдбреНрдпреВрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред
рдпрд╣ import ipdb;ipdb.set_trace()
рдмрдЬрд╛рдп рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ import ipdb;ipdb.set_trace()
рдХреЗрд╡рд▓ import debug
рд▓рд┐рдЦрдиреЗ рдХреЗ import ipdb;ipdb.set_trace()
, рдпрд╣ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдЖрд╕рд╛рди рдирд┐рд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдореЙрдбреНрдпреВрд▓ рднреА рдЬреЛрдбрд╝рддрд╛ рд╣реИред
рдорд╛рдирдХ рдХреНрд░рдорд╛рдВрдХрди рдореЙрдбреНрдпреВрд▓ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрдЪрд╛рд░ рдХреЛ рдбрд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╡реИрд╕реЗ, рдпрд╣ рдпрд╛рдж рд░рдЦрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдпреЗ рдореЙрдбреНрдпреВрд▓ рдмрд╛рд╣рд░реА рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдбреЗрдЯрд╛ рдХреЗ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИрдВред рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд рд╕реНрд░реЛрдд рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдордирдорд╛рдиреА рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИ, рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП json (REST рдХреЗ рд▓рд┐рдП) рдФрд░ gRPC (RPC рдХреЗ рд▓рд┐рдП) рд╣реИрдВред
рдорд╛рдирдХ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдореЙрдбреНрдпреВрд▓ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, regex рдореЙрдбреНрдпреВрд▓ рдХреЛ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреА рдЕрддрд┐рд░рд┐рдХреНрдд рдЕрдЪреНрдЫрд╛рдЗрдпреЛрдВ рдХреЗ рд╕рд╛рде рдмрдирд╛рддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рд╡рд░реНрдг рд╡рд░реНрдЧ ala \p{Cyrillic}
ред
рд╡реИрд╕реЗ, рдореЛрддреА рдЬреМ рдХреЗ рд╕рдорд╛рди рд░реЗрдЧреАрдЬрд╝ рдХреЗ рд▓рд┐рдП рдПрдХ рдордЬреЗрджрд╛рд░ рдбрд┐рдмрдЧрд░ рдЕрдЬрдЧрд░ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреА рдирд╣реАрдВ рдЖрдпрд╛ рд╣реИред
рдпрд╣рд╛рдВ рдПрдХ рдФрд░ рдЙрджрд╛рд╣рд░рдг рд╣реИ - рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдиреЗ рдлрд╝рд╛рдЗрд▓ рд╕рдВрдкрд╛рджрди рдХреЗ рд╕реНрдерд╛рди рдкрд░ рдорд╛рдирдХ рдлрд╛рдЗрд▓рд┐рдирдкреБрдЯ рдореЙрдбреНрдпреВрд▓ рдХреА рдПрдкреАрдЖрдИ рдХреА рд╡рдХреНрд░рддрд╛ рдФрд░ рдЕрдкреВрд░реНрдгрддрд╛ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рдЗрди-рдкреНрд▓реЗрд╕ рдореЙрдбреНрдпреВрд▓ рдмрдирд╛рдпрд╛ред
рдЦреИрд░, рдореИрдВ рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рд╕реЛрдЪрддрд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рднреА рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдЖ рдЧрдпрд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗрдВ рдФрд░ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреА рдЙрдкрдпреЛрдЧреА рднрдпрд╛рдирдХ рд╕реВрдЪрд┐рдпреЛрдВ рдХреЛ рджреЗрдЦрдирд╛ рди рднреВрд▓реЗрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдЕрдЪреНрдЫрд╛ рдкреЛрд╖рдг рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рд╕рдорд╛рдзрд╛рди рдХреА рддрд░реНрдХрд╕рдВрдЧрддрддрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд╛рдХ рд╣реИ, рдпрд╣ рдПрдХ рдФрд░ рдЪрд░реНрдЪрд╛ рдХрд╛ рд╡рд┐рд╖рдп рд╣реИред рдореЗрд░реА рднрд╛рд╡рдирд╛рдУрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ (рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдХреЛрдИ рдЖрдВрдХрдбрд╝реЗ рдирд╣реАрдВ рд╣реИрдВ рдФрд░ рдЬрд╛рд╣рд┐рд░ рддреМрд░ рдкрд░ рдпрд╣ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ) рдЕрдЬрдЧрд░ рджреБрдирд┐рдпрд╛ рдореЗрдВ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮреЛрдВ рдХрд╛ рд╕реНрддрд░ рдФрд╕рдд рд╕реЗ рдКрдкрд░ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдХреНрд╕рд░ рдЕрдЪреНрдЫрд╛ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░реНрд╕ рдЕрдЬрдЧрд░ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрди рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рд▓рд┐рдЦреЗрдВ рдЬреЛ рдЖрдк рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрддреЗ рд╣реИрдВред
рд╕рдореНтАНрднрд╛рд╡рдирд╛ рдФрд░ рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛
рдкрд╛рдпрдерди рд╕рдорд╛рдирд╛рдВрддрд░ рдФрд░ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдЕрд╡рд╕рд░ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рдмрд┐рдирд╛ рдирд╣реАрдВред
рдпрджрд┐ рдЖрдкрдХреЛ рд╕рдорд╛рдирддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдРрд╕рд╛ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдЖрдкрдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХрдореНрдкреНрдпреВрдЯреЗрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдорд▓реНрдЯреАрдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдореЙрдбреНрдпреВрд▓ рдкрд░ рдзреНрдпрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдФрд░ рдЕрдЧрд░ рдЖрдкрдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЖрдИрдУ рдЕрдкреЗрдХреНрд╖рд╛рдПрдВ рд╣реИрдВ, рддреЛ рдЕрдЬрдЧрд░ рдЖрдкрдХреЗ рд▓рд┐рдП рдереНрд░реЗрдбреНрд╕ рдФрд░ рдЬреАрдИрдПрдирд╡реЗрдВрдЯ рд╕реЗ рд▓реЗрдХрд░ рдПрд╕рд┐рдВрдХреЛ рддрдХ рдЪреБрдирдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╡рд┐рдХрд▓реНрдк рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
рдпреЗ рд╕рднреА рд╡рд┐рдХрд▓реНрдк рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рдЙрдкрдпреБрдХреНрдд рд▓рдЧрддреЗ рд╣реИрдВ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдереНрд░реЗрдбреНрд╕ рдХреЛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ), рд▓реЗрдХрд┐рди рдПрдХ рднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдПрд╕рд┐рдВрдХреЛ рдзреАрд░реЗ-рдзреАрд░реЗ рдмрд╛рдХреА рдХреЛ рдирд┐рдЪреЛрдбрд╝ рд░рд╣рд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ uvloop рдЬреИрд╕реА рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреА рдЕрдЪреНрдЫрд╛рдЗрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рд╢рд╛рдорд┐рд▓ рд╣реИред
рдпрджрд┐ рдХрд┐рд╕реА рдиреЗ рдзреНрдпрд╛рди рдирд╣реАрдВ рджрд┐рдпрд╛ рд╣реИ - рдЕрдЬрдЧрд░ рдореЗрдВ, рдзрд╛рдЧреЗ рд╕рдорд╛рдирддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдореИрдВ рдЬреАрдЖрдИрдПрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдкрд░реНрдпрд╛рдкреНрдд рд╕рд╛рдордЧреНрд░реА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдРрд╕реА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдпрд╛рдж рд░рдЦрдиреЗ рдХреА рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЕрдЬрдЧрд░ рдореЗрдВ рдзрд╛рдЧреЗ (рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ) CPython рдореЗрдВ) рд╡реЗ рдЕрдиреНрдп рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рд╕реЗ рдЕрд▓рдЧ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддреЗ рд╣реИрдВ - рд╡реЗ рдХреЗрд╡рд▓ рдПрдХ рдХреЛрд░ рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд╡реЗ рдЙрди рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИрдВ рдЬрд╣рд╛рдВ рдЖрдкрдХреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдорд╛рдирддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрдирдкреБрдЯ / рдЖрдЙрдЯрдкреБрдЯ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддреЗ рд╕рдордп рдереНрд░реЗрдб рдирд┐рд╖реНрдкрд╛рджрди рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛ рдХрд░рдирд╛ред
рдЕрдиреНрдп рд╡рд┐рд╖рдорддрд╛рдПрдБ
рдЕрдЬрдЧрд░ рдореЗрдВ, a = a + b
рд╣рдореЗрд╢рд╛ a += b
рдмрд░рд╛рдмрд░ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ:
a = [1] a = a + (2,3) TypeError: can only concatenate list (not "tuple") to list a += (2,3) a [1, 2, 3]
рдореИрдВ рдЗрд╕реЗ рдПрд╕рдУ рдХреЛ рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рднреЗрдЬ рд░рд╣рд╛ рд╣реВрдВ, рдЬрдм рддрдХ рдореБрдЭреЗ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХрд╛ рд╕рдордп рдирд╣реАрдВ рдорд┐рд▓ рдЧрдпрд╛ рдХрд┐ рдРрд╕рд╛ рдХреНрдпреЛрдВ рд╣реИ, рдЗрд╕ рдЕрд░реНрде рдореЗрдВ рдХрд┐ рдЙрдиреНрд╣реЛрдВрдиреЗ рдпрд╣ рдХрд┐рд╕ рдХрд╛рд░рдг рд╕реЗ рдХрд┐рдпрд╛, рдЬреИрд╕реЗ рдХрд┐ рдпрд╣ рдлрд┐рд░ рд╕реЗ рдЙрддреНрдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред
рд╡рд┐рд╖рдорддрд╛рдПрдБ рдЬреЛ рд╡рд┐рд╖рдорддрд╛рдПрдБ рдирд╣реАрдВ рд╣реИрдВ
рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ, рдпрд╣ рдореБрдЭреЗ рдЕрдЬреАрдм рд▓рдЧ рд░рд╣рд╛ рдерд╛ рдХрд┐ рд░реЗрдВрдЬ рдкреНрд░рдХрд╛рд░ рдореЗрдВ рд╕рд╣реА рд╕реАрдорд╛ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рдПрдХ рджрдпрд╛рд▓реБ рд╡реНрдпрдХреНрддрд┐ рдиреЗ рдореБрдЭреЗ рдЕрдЬреНрдЮрд╛рдиреА рд╕реЗ рдХрд╣рд╛ рдЬрд╣рд╛рдВ рдореБрдЭреЗ рд╕реАрдЦрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдФрд░ рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рд╕рдм рдХреБрдЫ рдХрд╛рдлреА рддрд╛рд░реНрдХрд┐рдХ рд╣реИред
рдПрдХ рдЕрд▓рдЧ рдмрдбрд╝рд╛ рд╡рд┐рд╖рдп рд░рд╛рдЙрдВрдбрд┐рдВрдЧ рд╣реИ (рд╣рд╛рд▓рд╛рдБрдХрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд▓рдЧрднрдЧ рд╕рднреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рд╣реИ), рдЖрдк рдХреА рддрд░рд╣ рдЧреЛрд▓рд╛рдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХрд┐ рд╕рднреА рдиреЗ рдЧрдгрд┐рдд рдХреЗ рд╕реНрдХреВрд▓ рдкрд╛рдареНрдпрдХреНрд░рдо рдореЗрдВ рдЕрдзреНрдпрдпрди рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдлреНрд▓реЛрдЯрд┐рдВрдЧ-рдкреЙрдЗрдВрдЯ рдирдВрдмрд░реЛрдВ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛рдПрдВ рдЕрднреА рднреА рдЙрд╕ рдкрд░ рдЖрд░реЛрдкрд┐рдд рд╣реИрдВ, рдореИрдВ рдЗрд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рддрд╛ рд╣реВрдВред рд╡рд┐рд╕реНрддреГрдд рд▓реЗрдЦ ред
рдореЛрдЯреЗ рддреМрд░ рдкрд░, рд╕реНрдХреВрд▓реА рдЧрдгрд┐рдд рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рдЖрдзреЗ рджреМрд░ рдХреЗ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рдмрдЬрд╛рдп, рдЕрд░реНрдз-рд╕рдорд░реВрдк рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдореЗрдВ рд╡рд┐рдХреГрддрд┐ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рдХрдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рд▓рд┐рдП IEEE 754 рдорд╛рдирдХ рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрд╢рдВрд╕рд┐рдд рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рд╕рдордЭ рдирд╣реАрдВ рдкрд╛рдпрд╛ рдХрд┐ рдХреНрдпреЛрдВ -22//10=-3
, рдФрд░ рдлрд┐рд░ рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░ рдХреЗ рд╡реНрдпрдХреНрддрд┐ рдиреЗ рдмрддрд╛рдпрд╛ рдХрд┐ рдпрд╣ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдЧрдгрд┐рддреАрдп рдкрд░рд┐рднрд╛рд╖рд╛ рд╕реЗ рд╣реА рд╣реИ, рдЬрд┐рд╕рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╢реЗрд╖ рдирдХрд╛рд░рд╛рддреНрдордХ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдЗрд╕ рддрд░рд╣ рдХреЗ рдЕрд╕рд╛рдорд╛рдиреНрдп рд╡реНрдпрд╡рд╣рд╛рд░ рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ рдирдХрд╛рд░рд╛рддреНрдордХ рд╕рдВрдЦреНрдпрд╛ред
рдЖрдХреНрдЯрдВрдЧ! рдЕрдм рдпрд╣ рдлрд┐рд░ рд╕реЗ рдПрдХ рдЕрдЬреАрдм рдмрд╛рдд рд╣реИ рдФрд░ рдореБрдЭреЗ рдХреБрдЫ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖ рд░рд╣рд╛ рд╣реИ, рдЗрд╕ рдзрд╛рдЧреЗ рдХреЛ рджреЗрдЦреЗрдВред
рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдбреАрдмрдЧрд┐рдВрдЧ
рдФрд░ рдпрд╣рд╛рдВ рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдЕрдЬрдЧрд░ рдХреА рджреБрдирд┐рдпрд╛ рдореЗрдВ рдЙрддреНрдХреГрд╖реНрдЯ рдореЛрддреА рдореЙрдбреНрдпреВрд▓ рд░реЗрдЧреЗрдХреНрд╕рдкреА ( рдбреАрдмрдЧрд░ ) ( рд╡реАрдбрд┐рдпреЛ рдкреНрд░рд╕реНрддреБрддрд┐ ) рдХреЗ рд╕рдорд╛рди рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЙрдкрдХрд░рдг рдирд╣реАрдВ рд╣реИ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдСрдирд▓рд╛рдЗрди рдЯреВрд▓ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рд╣реИ, рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╡рд┐рдВрдбреЛрдЬ-рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рд╕рдорд╛рдзрд╛рди рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рдпрд╣ рдореЛрддреА рдмрд╛рд░ рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдЬрдЧрд░ рд░реЗрдХреНрд╕ рдореЛрддреА рдмрд╛рд░ рд╕реЗ рдмрд╣реБрдд рдЕрд▓рдЧ рдирд╣реАрдВ рд╣реИрдВ, рдореИрдВ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рд░реНрджреЗрд╢ рд▓рд┐рдЦреВрдВрдЧрд╛ рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рдореЛрддреА рдмрд╛рд░ рдирд╣реАрдВ рд╣реИ:
sudo apt install cpanminus cpanm Regexp::Debugger perl -I ~/perl5/lib/perl5/ -E "use Regexp::Debugger; 'ababc' =~ /(a|b) b+ c/x"
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореЛрддреА рд╕реЗ рдЕрдкрд░рд┐рдЪрд┐рдд рд╡реНрдпрдХреНрддрд┐ рднреА рд╕рдордЭ рдЬрд╛рдПрдЧрд╛ рдХрд┐ рд▓рд╛рдЗрди рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдирд╛ рдХрд╣рд╛рдВ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдФрд░ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╣рд╛рдВ рд╣реИ, x
рдЕрдЬрдЧрд░ рдХреЗ рд╕рдорд╛рди рдзреНрд╡рдЬ рд╣реИред
рдкреНрд░реЗрд╕ рдФрд░ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрджрдо, рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдЖрджреЗрд╢реЛрдВ рдХрд╛ рдПрдХ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╡рд░рдгред
рдкреНрд░рд▓реЗрдЦрди
рдЕрдЬрдЧрд░ рдореЗрдВ рдПрдХ рд╕рд╣рд╛рдпрддрд╛ рдлрд╝рдВрдХреНрд╢рди рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рдХрд┐рд╕реА рднреА рд▓реЛрдб рдХрд┐рдП рдЧрдП рдлрд╝рдВрдХреНрд╢рди (рдЗрд╕рдХреЗ рдбреЙрдХрд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛) рдкрд░ рд╕рд╣рд╛рдпрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдирд╛рдо рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
$ python3 >>> help(help)
рд▓реЗрдХрд┐рди рдпрд╣ рд╣рдореЗрд╢рд╛ рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдЕрдХреНрд╕рд░ pydoc рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрддрд╛ рд╣реИ:
pydoc3 urllib.parse.urlparse
рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдЖрдкрдХреЛ рдХреАрд╡рд░реНрдб рджреНрд╡рд╛рд░рд╛ рдЦреЛрдЬ рдХрд░рдиреЗ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ HTML рдкреНрд░рд▓реЗрдЦрди рдХреЗ рд╕рд╛рде рдПрдХ рд╕реНрдерд╛рдиреАрдп рд╕рд░реНрд╡рд░ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдмрд╛рдж рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред