рд╕рдм рдХреБрдЫ рдЖрдк рдкрд╛рдпрдерди рдореЗрдВ рдЧреБрдВрдЬрд╛рдЗрд╢ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддреЗ рдереЗ, рд▓реЗрдХрд┐рди рдкреВрдЫрдиреЗ рдХреЗ рд▓рд┐рдП рд╢рд░реНрдорд┐рдВрджрд╛ рдереЗ

"рдкрд╛рдпрдерди рдбреЗрд╡рд▓рдкрд░" рдкрд╛рдареНрдпрдХреНрд░рдо рдкрд░ рдПрдХ рдирдП рдзрд╛рдЧреЗ рдХреА рд╢реБрд░реБрдЖрдд рдХреА рдкреНрд░рддреНрдпрд╛рд╢рд╛ рдореЗрдВ , рд╣рдордиреЗ рдкрд╛рдпрдерди рдореЗрдВ рдЧреБрдВрдЬрд╛рдЗрд╢ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдпрд╣ рдХреНрдпрд╛ рдЖрдпрд╛? - рдиреАрдЪреЗ рд╕рд╛рдордЧреНрд░реА рдкрдврд╝реЗрдВред




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

рд╕реНрдХреЛрдк рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдХрд┐рд╕ рднрд╛рдЧ рдореЗрдВ рд╣рдо рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЪрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЬрд┐рд╕рд╕реЗ рдЪрд░ "рдЫрд┐рдкрд╛ рд╣реБрдЖ" рд╣реИред рдпрд╣ рд╕рдордЭрдирд╛ рдмреЗрд╣рдж рдЬрд░реВрд░реА рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдЙрди рдореВрд▓реНрдпреЛрдВ рдФрд░ рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИ рдЬрд┐рдирдХреА рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рднрд╛рд╖рд╛ рджреБрднрд╛рд╖рд┐рдпрд╛ рдХреИрд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддрд╛ рд╣реИред рд╣рдо рдпрд╣ рднреА рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдЪрд░реЛрдВ рдХреЗ рд╕рд╛рде рдХреНрд░рд┐рдпрд╛рдУрдВ рдкрд░ рдЧреБрдВрдЬрд╛рдЗрд╢ рджреНрд╡рд╛рд░рд╛ рд▓рдЧрд╛рдП рдЧрдП рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХреЛ рдХреИрд╕реЗ рдХрдо рдХрд┐рдпрд╛ рдЬрд╛рдПред рдкрд╛рдпрдерди рдореЗрдВ, 3 рд╕реНрдХреЛрдк рдХреЗ рд░реВрдк рдореЗрдВ рдХрдИ рд╣реИрдВ:

  • рд╕реНрдерд╛рдиреАрдп
  • рд╡реИрд╢реНрд╡рд┐рдХ
  • nonlocal

рдЕрдВрддрд┐рдо, рдиреЙрди-рдлреЛрдХрд▓ рд╕реНрдХреЛрдк, рдкрд╛рдпрдерди 3 рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛ред

рдЖрдорддреМрд░ рдкрд░, рд╣рдо рдлрд╝рдВрдХреНрд╢рдВрд╕ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реЛрдиреЗ рдкрд░ рд╕реНрдХреЛрдк рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВред рдЙрдирдХреЗ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рдЪрд░ рдХреЗ рджрд╛рдпрд░реЗ рдХреЗ рдХрд╛рдо рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред

рд╕реНрдерд╛рдиреАрдп рдЧреБрдВрдЬрд╛рдЗрд╢


рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдЬреЛ some_listрддрддреНрд╡ рджреНрд╡рд╛рд░рд╛ рд╕реВрдЪреА рддрддреНрд╡ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ :

def print_list(some_list):
    for element in some_list:
        print(element)

рдпрд╣рд╛рдВ elementрдФрд░ some_listрд╕реНрдерд╛рдиреАрдп рдЪрд░ рдРрд╕реЗ рд╣реИрдВ рдЬреЛ рдХреЗрд╡рд▓ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдВрджрд░ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ, рдФрд░ рдЬреЛ рдЗрд╕реЗ рдЗрд╕рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рджреМрд░рд╛рди рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдВрджрд░ рдЕрд╕рд╛рдЗрди рдХрд┐рдП рдЧрдП рдорд╛рдиреЛрдВ рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣реА рд╣реИ, рдЕрдЧрд░ рд╣рдо рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдореБрдЦреНрдп рдирд┐рдХрд╛рдп рдореЗрдВ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ print(element)рдПрдХ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ:

NameError: name 'element' is not defined


рдЕрдм рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд░реЗрдВрдЧреЗ:

def print_list(some_list):
    for element in some_list:
        print(element) 

element = 'q'
print_list([1, 2, 3])
print(element) 


рдФрд░ рд╣рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ:

1
2
3
q

рдпрд╣рд╛рдВ elementрдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдВрджрд░ рдЪрд░ рдФрд░ рдЗрд╕рдХреЗ рдмрд╛рд╣рд░ рдПрдХ рд╣реА рдирд╛рдо рд╡рд╛рд▓реЗ рдЪрд░ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЪрд░ рд╣реИрдВ, рдЙрдирдХреЗ рдорд╛рди рдХреНрд░реЙрд╕ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрдВрдЯрд░рдЪреЗрдВрдЬ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдЙрдиреНрд╣реЗрдВ рд╕рдорд╛рди рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕реНрдореГрддрд┐ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рд╡рд╕реНрддреБрдУрдВ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдВрджрд░ рдПрдХ рдЪрд░ рдирд╛рдо рддрддреНрд╡ рддрдм рддрдХ рд░рд╣рддрд╛ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдлрд╝рдВрдХреНрд╢рди рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЕрдзрд┐рдХ рдирд╣реАрдВред рд▓реЗрдХрд┐рди рд╕реНрдерд╛рдиреАрдп рдФрд░ рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рдХреЛ рдПрдХ рд╣реА рдирд╛рдо рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗрдВ, рдЕрдм рдореИрдВ рджрд┐рдЦрд╛рдКрдВрдЧрд╛ рдХреНрдпреЛрдВ:

def print_list(some_list):
    for element in sudden_list:
        print(element) 

sudden_list = [0, 0, 0]
print_list([1, 2, 3])

рдкрд░рд┐рдгрд╛рдо:

0
0
0

рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рджреБрднрд╛рд╖рд┐рдпрд╛ рдиреЗ рд╣рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рд╕рдВрдХреЗрдд рдирд╣реАрдВ рджрд┐рдпрд╛ред рдФрд░ рд╕рднреА рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ sudden_listрд╡реИрд╢реНрд╡рд┐рдХ рджрд╛рдпрд░реЗ рдореЗрдВ рд╣реИ, рдЕрд░реНрдерд╛рддреН, рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдВрджрд░ рд╕реЗ print_listрд╣рдо рдЗрд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдВрджрд░ рд╕реЗ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдмрд╛рд╣рд░ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИред рдХрд╛рд░реНрдп рдХреЗ рдРрд╕реЗ рдпрд╛рдВрддреНрд░рд┐рдХреА рдХреЗ рдХрд╛рд░рдг рдХреЗ рд▓рд┐рдП, рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдВрджрд░ рд╕реНрдерд╛рдиреАрдп рдЪрд░ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдирд╛рдо рджреЗрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ, рдЬрд┐рд╕реЗ рдЖрдк рд╡реИрд╢реНрд╡рд┐рдХ рджрд╛рдпрд░реЗ рдореЗрдВ рдЪрд░ рдХрд╣рддреЗ рд╣реИрдВред

рдпрд╣рд╛рдВ рд╕реНрдерд┐рд░рд╛рдВрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдкрд╛рдпрдерди рджреБрднрд╛рд╖рд┐рдпрд╛ рд╕реЗ рдХреЛрдИ рдЕрдВрддрд░ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдПрдХ рдЪрд░ рдХрд╣рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдКрдкрд░ рджрд┐рдП рдЧрдП рдХреЛрдб рдХреЛ рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЬрд╛рдПрдЧрд╛:

SUDDEN_LIST = [0, 0, 0]

def print_list(some_list):
    for element in SUDDEN_LIST:
        print(element) 

print_list([1, 2, 3]) 

рдЕрдм рд╕рдм рдХреБрдЫ рдпрдерд╛рд╡рдд рд╣реИред рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐, рдкрд╛рдпрдерди рдореЗрдВ рдЖрдк рдХрд┐рд╕реА рд╡рд╕реНрддреБ рдХреЛ рдХрдбрд╝рд╛рдИ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рд╕рдВрд╢реЛрдзрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рддреЛ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдЖрдк рдПрдХ рдЪрд░ рдХреЗ рдореВрд▓реНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдирд╛рдо рдмрдбрд╝реЗ рдЕрдХреНрд╖рд░реЛрдВ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреЗрд╡рд▓ рдЖрдкрдХреЗ рд╡рд┐рд╡реЗрдХ рдкрд░ рд░рд╣рддрд╛ рд╣реИред рдПрдХ рдФрд░ рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд░рд┐рдХреЙрд░реНрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рдЪрд░ рдЖрдкрдХреЗ рдХреЛрдб рдХреЛ рдкрдврд╝рдиреЗ рд╡рд╛рд▓реЗ рдХреЛ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдХрд░ рджреЗрдЧрд╛ рдХрд┐ рдЪрд░ рдХрд╣реАрдВ рднреА рдирд╣реАрдВ рдмрджрд▓реЗрдЧрд╛ред рдпрд╛ рдХрдо рд╕реЗ рдХрдо рдпрд╣ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╡реИрд╢реНрд╡рд┐рдХ рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░


рдкрд╛рдпрдерди рдореЗрдВ рдПрдХ рдХреАрд╡рд░реНрдб globalрд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рднреАрддрд░ рд╕реЗ рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рдХреЗ рдореВрд▓реНрдп рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣ рдЪрд░ рдирд╛рдо рд╕реЗ рдкрд╣рд▓реЗ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдВрджрд░ рд╡реИрд╢реНрд╡рд┐рдХ рдорд╛рдирд╛ рдЬрд╛рдПрдЧрд╛ред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЙрджрд╛рд╣рд░рдг рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрдм рдЪрд░ рдХрд╛ рдореВрд▓реНрдп candyрдмрдврд╝ рд░рд╣рд╛ рд╣реИ, рдФрд░ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╣рдо рдЗрд╕реЗ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░рд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ get_candy()ред

candy = 5

def get_candy():
    global candy 
    candy += 1
    print('  {} .'.format(candy))
    
get_candy()
get_candy()
print(candy)


рдирддреАрдЬрддрди, рд╣рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ:


	  6 .
  7 .
7


рд╣рд╛рд▓рд╛рдВрдХрд┐, рдлрд╝рдВрдХреНрд╢рди рдХреЗ рднреАрддрд░ рд╕реЗ рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рдХреЗ рдореВрд▓реНрдп рдХреЛ рдмрджрд▓рдирд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдЕрднреНрдпрд╛рд╕ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдРрд╕рд╛ рди рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХреЛрдб рдкрдардиреАрдпрддрд╛ рдореЗрдВ рдпреЛрдЧрджрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдВрджрд░ рдЬреЛ рдЫреЛрдЯрд╛ рд╣реЛрддрд╛ рд╣реИ, рд╡рд╣ рд╡реИрд╢реНрд╡рд┐рдХ рджрд╛рдпрд░реЗ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░реЗрдЧрд╛, рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛ред

рдЬреАрд╡рди рд╣реИрдХ : рдЪрд░реЛрдВ рдХреЗ рдирд╛рдордХрд░рдг рд╕реЗ рдкреАрдбрд╝рд┐рдд рдирд╣реАрдВ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдореБрдЦреНрдп рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛрдб рдХреЛ рдПрдХ рдлрдВрдХреНрд╢рди рдореЗрдВ рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ main(), рдлрд┐рд░ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдВрджрд░ рдШреЛрд╖рд┐рдд рдХрд┐рдП рдЧрдП рд╕рднреА рд╡реИрд░рд┐рдПрдмрд▓ рд▓реЛрдХрд▓ рд░рд╣реЗрдВрдЧреЗ рдФрд░ рд╡реИрд╢реНрд╡рд┐рдХ рд╕реНрдХреЛрдк рдХреЛ рдЦрд░рд╛рдм рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ, рдЬрд┐рд╕рд╕реЗ рддреНрд░реБрдЯрд┐ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдмрдврд╝ рдЬрд╛рдПрдЧреАред

рдиреЙрдирдХреНрд▓реЙрдХ рд╕реНрдХреЛрдк


рдпрд╣ рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреАрд╡рд░реНрдб рдХреЗ рд╕рд╛рде рдкрд╛рдпрдерди 3 рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреА nonlocalред рдЙрдирдХреЗ рд▓реЗрдЦрди рдХрд╛ рддрд░реНрдХ рд▓рдЧрднрдЧ рдЙрд╕реА рдХреЗ рдЬреИрд╕рд╛ рд╣реИ globalред рд╣рд╛рд▓рд╛рдБрдХрд┐, nonlocalрдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИред Nonlocalрдпрд╣ рдЕрдХреНрд╕рд░ рдиреЗрд╕реНрдЯреЗрдб рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рд╣рдо рджреБрднрд╛рд╖рд┐рдпрд╛ рдХреЛ рдпрд╣ рд╕рдордЭрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдиреЗрд╕реНрдЯреЗрдб рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЪрд░ рд╕реНрдерд╛рдиреАрдп рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рдЕрд░реНрдереЛрдВ рдореЗрдВ рд╡реИрд╢реНрд╡рд┐рдХ рдирд╣реАрдВ рд╣реИред

def get_candy():
    candy = 5
    def increment_candy(): 
        nonlocal candy
        candy += 1
        return candy
    return increment_candy
    
result = get_candy()()
print(' {} .'.format(result))

рдкрд░рд┐рдгрд╛рдо:

 6 .

рдЖрдкрдХреЗ рд▓рд┐рдП рдЦреБрдж рддрдп рдХрд░рдирд╛ рдХрд┐рддрдирд╛ рдЙрдкрдпреЛрдЧреА рд╣реИред рдЖрдк рдпрд╣рд╛рдВ рдФрд░ рдЙрджрд╛рд╣рд░рдг рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ ред

рдирд┐рд╖реНрдХрд░реНрд╖ рдХреЗ рд░реВрдк рдореЗрдВ, рдХрдИ рдирд┐рдпрдо рддреИрдпрд╛рд░ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ:

  1. рдлрд╝рдВрдХреНрд╢рди рдХреЗ рднреАрддрд░ рд╕реЗ рджреГрд╢реНрдп рдЪрд░ рд╣реИрдВ рдЬреЛ рдЗрд╕реЗ рдЕрдВрджрд░ рдФрд░ рдмрд╛рд╣рд░ рджреЛрдиреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЪрд░ рд╕реНрдерд╛рдиреАрдп рдФрд░ рдмрд╛рд╣рд░реА рд░реВрдк рд╕реЗ рд╡реИрд╢реНрд╡рд┐рдХ рд╣реИрдВред
  2. рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдмрд╛рд╣рд░, рдЙрдирдХреЗ рдЕрдВрджрд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреЛрдИ рднреА рдЪрд░ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред
  3. , global.
  4. nonlocal , , .

рдпрд╣ рд╕рдм, рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рд╛рдордЧреНрд░реА рдЖрдкрдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рдереА, рдФрд░ рдпрд╣ рдХрдо рд╕реЗ рдХрдо рдереЛрдбрд╝рд╛ рдкреНрд░рдХрд╛рд╢ рдбрд╛рд▓рд╛ рдЧрдпрд╛ рдХрд┐ рдкрд╛рдпрдерди рдореЗрдВ рдЧреБрдВрдЬрд╛рдЗрд╢ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИред рд╕реНрдХреЛрдк рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рд╕реБрдВрджрд░ рдФрд░ рдкрдардиреАрдп рдХреЛрдб рдмрдирд╛рдиреЗ рдХреЗ рд░рд╛рд╕реНрддреЗ рдкрд░ рдПрдХ рдФрд░ рд╣рдорд╛рд░рд╛ рдХрд╛рдо рдХрд░реЗрдВрдЧреЗред

рдореИрдВ рд╣рд░ рдХрд┐рд╕реА рдХреЛ OTUS рд╕реЗ рдПрдХ рдореБрдлреНрдд рд╡реЗрдмрд┐рдирд╛рд░ рдореЗрдВ рдЖрдордВрддреНрд░рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЬрд╣рд╛рдВ рд╣рдо рдкрд╛рдпрдерди рдореЗрдВ рдЯрд╛рдЗрдк рдПрдиреЛрдЯреЗрд╢рди рдЬреИрд╕реЗ рдЯреВрд▓ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░реЗрдВрдЧреЗ: рдЙрди рдХрд╛рд░рдгреЛрдВ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВ рдХрд┐ рдХрд┐рддрдиреЗ рд▓реЛрдЧ рдЗрд╕реЗ рдХрдо рдЖрдВрдХрддреЗ рд╣реИрдВ, рд╕реИрдиреНрдп рдЕрднреНрдпрд╛рд╕ рд╕реЗ рдХрдИ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдЬрдм рдЯрд╛рдЗрдк рдПрдиреЛрдЯреЗрд╢рди рд╕реНрдерд┐рддрд┐ рдХреЛ рдмрдЪрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдмрдЪрд╛ рд╕рдХрддрд╛ рд╣реИред рдЖрдЗрдП рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдкрд░ рдЯрд╛рдЗрдк рдЪреЗрдХрд┐рдВрдЧ рдХреЛ рдХреИрд╕реЗ рдФрд░ рдХрдм рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдП ред

All Articles