10 рдорд┐рдирдЯ рдореЗрдВ рдкрд╛рдпрдерди рдореЗрдВ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╕реАрдЦреЗрдВ

рдЫрд╡рд┐
рдлреЛрдЯреЛ: рдХреНрд░рд┐рд╕ рд░рд╛рдЗрдб

рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдЖрдк рд╕рдордЭреЗрдВрдЧреЗ рдХрд┐ рдПрдХ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░рддрд┐рдорд╛рди рдХреНрдпрд╛ рд╣реИ рдФрд░ рдкрд╛рдпрдерди рдореЗрдВ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВред рддреБрдо рднреА рд╕реВрдЪреА рдЕрдореВрд░реНрдд рдФрд░ рдЕрдиреНрдп рд╕реВрдЪреА рд╕рдордЭ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реАрдЦрдирд╛ рд╣реЛрдЧрд╛ред

рдХреНрд░рд┐рдпрд╛рддреНрдордХ рдкреНрд░рддрд┐рдорд╛рди


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

рдПрдХ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░рддрд┐рдорд╛рди рдореЗрдВ, рдЖрдк рдХрдВрдкреНрдпреВрдЯрд░ рдХреЛ рдпрд╣ рдирд╣реАрдВ рдмрддрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдХрд╛рд░реНрдпреЛрдВ рдХреА рдкреНрд░рдХреГрддрд┐ рдХреЛ рд╕реНрд╡рдпрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВред рдПрдХ рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рд╕рд╛рдорд╛рдиреНрдп рднрд╛рдЬрдХ рдХреНрдпрд╛ рд╣реИ, 1 рд╕реЗ n рддрдХ рдХреА рдЧрдгрдирд╛рдУрдВ рдХрд╛ рдкрд░рд┐рдгрд╛рдо, рдЖрджрд┐ред

рдЗрд╕рд▓рд┐рдП, рдЪрд░ рдирд╣реАрдВ рдмрджрд▓рддреЗ рд╣реИрдВред рдПрдХ рдмрд╛рд░ рдПрдХ рдЪрд░ рд╢реБрд░реВ рдХрд░ рджрд┐рдП рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдЗрд╕рдХрд╛ рдореВрд▓реНрдп рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП рд╕рд╣реЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╢реБрджреНрдз рдХрд╛рд░реНрдпрд╛рддреНрдордХ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдЗрдиреНрд╣реЗрдВ рдЪрд░ рднреА рдирд╣реАрдВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ)ред рдЗрд╕рд▓рд┐рдП, рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░рддрд┐рдорд╛рди рдореЗрдВ, рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдХреЛрдИ рджреБрд╖реНрдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ ред рдПрдХ рдкрдХреНрд╖ рдкреНрд░рднрд╛рд╡ рдХреЛ рдЙрд╕ рдХреНрд╖рдг рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рджреМрд░рд╛рди рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдЕрдкрдиреА рд╕реАрдорд╛рдУрдВ рд╕реЗ рдкрд░реЗ рдХреБрдЫ рдмрджрд▓рддрд╛ рд╣реИред рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ:

a = 3 def some_func(): global a a = 5 some_func() print(a) 

рдЗрд╕ рдХреЛрдб рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реИ 5. рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЗрдВ, рдЪрд░ рдмрджрд▓рдирд╛ рдордирд╛ рд╣реИ, рдФрд░ рдЕрдкрдиреА рд╕реАрдорд╛рдУрдВ рд╕реЗ рдкрд░реЗ рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдмрджрд▓рдирд╛ рднреАред рд╕рднреА рдлрд╝рдВрдХреНрд╢рди рдХреБрдЫ рдЧрдгрдирд╛ рдХрд░рдиреЗ / рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рдиреЗ рдФрд░ рдкрд░рд┐рдгрд╛рдо рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЕрдм, рдЖрдк рд╕реЛрдЪ рд░рд╣реЗ рд╣реЛрдВрдЧреЗ: тАЬрдХреЛрдИ рдЪрд░, рдХреЛрдИ рджреБрд╖реНрдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ? рдХреНрдпреЛрдВ рдЕрдЪреНрдЫрд╛ рд╣реИ? рд╡рд╛рдХрдИ рдЕрдЪреНрдЫрд╛ рд╕рд╡рд╛рд▓ рд╣реИред

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

рдЖрдорддреМрд░ рдкрд░, рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЗрдВ, рд▓реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдПрдХ рдЧрдгрд┐рддреАрдп рдЕрд╡рдзрд╛рд░рдгрд╛ рд╣реИ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЗрд╕рдХрд╛ рдЕрд░реНрде рд╣реИ "рдЕрдкрдиреЗ рдЖрдк рдХреЛ рдХреБрдЫ рдЦрд┐рд▓рд╛рдирд╛ред" рдПрдХ рдкреБрдирд░рд╛рд╡рд░реНрддреА рдХрд╛рд░реНрдп рдореЗрдВ, рдлрд╝рдВрдХреНрд╢рди рд╕реНрд╡рдпрдВ рдХреЛ рдПрдХ рдЙрдк-рдлрд╝рдВрдХреНрд╢рди рдХреА рднреВрдорд┐рдХрд╛ рдХрд╣рддрд╛ рд╣реИред рдпрд╣рд╛рдБ рдкрд╛рдпрдерди рдореЗрдВ рдПрдХ рдкреБрдирд░рд╛рд╡рд░реНрддреА рдХрд╛рд░реНрдп рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

 def factorial_recursive(n): # Base case: 1! = 1 #   if n == 1: return 1 # Recursive case: n! = n * (n-1)! #    else: return n * factorial_recursive(n-1) 

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

рдирдХреНрд╢рд╛


рдорд╛рдирдЪрд┐рддреНрд░ рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рдЪрд▓рдиреЗ рдпреЛрдЧреНрдп рдХрдВрдЯреЗрдирд░реЛрдВ рд╕реЗ рдирд┐рдкрдЯрдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣ рдПрдХ рдРрд╕рд╛ рдХрдВрдЯреЗрдирд░ рд╣реИ рдЬрд┐рд╕ рдкрд░ рдЖрдк "рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред" рдпреЗ рдЕрдХреНрд╕рд░ рд╕реВрдЪреА рдпрд╛ рд╕рд░рдгрд┐рдпрд╛рдБ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдкрд╛рдпрдерди рдореЗрдВ рдРрд╕реЗ рдХрдИ рдХрдВрдЯреЗрдирд░ рд╣реИрдВред рддреБрдо рднреА рдЬрд╛рджреВ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЛ рд╢реБрд░реВ рдХрд░рдХреЗ рдЕрдкрдиреЗ рдЦреБрдж рдХреЗ рдХрдВрдЯреЗрдирд░ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдПрдкреАрдЖрдИ рдХреА рддрд░рд╣ рдпреЗ рддрд░реАрдХреЗ, рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдЕрдзрд┐рдХ рдкрд╛рдпрдереЛрдирд┐рдХ рдмрдирдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреЗ рд╣реИрдВред рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдЪрд▓рдиреЗ рдпреЛрдЧреНрдп рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП 2 рдРрд╕реЗ рддрд░реАрдХреЗ рд╣реИрдВ:

 class Counter: def __init__(self, low, high): # set class attributes inside the magic method __init__ # for "inistalise" #      self.current = low self.high = high def __iter__(self): # first magic method to make this object iterable #    return self def __next__(self): # second magic method #    if self.current > self.high: raise StopIteration else: self.current += 1 return self.current - 1 

рдкрд╣рд▓реА рдЬрд╛рджреВ рдкрджреНрдзрддрд┐ "___iter__" рдпрд╛ рдбрдВрдбрд░ (рдЕрдВрдбрд░рд╕реНрдХреЛрд░ рджреНрд╡рд╛рд░рд╛ рджреЛрд╣рд░рд╛ рд░реЗрдЦрд╛рдВрдХрд┐рдд) рд╣реИ рдЗрдЯрд░ рдПрдХ рдкреБрдирд░рд╛рд╡реГрддреНрдд рд╡рд╕реНрддреБ рджреЗрддрд╛ рд╣реИ, рдпрд╣ рдЕрдХреНрд╕рд░ рд▓реВрдк рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред Dunder рдЕрдЧрд▓рд╛ (__next__) рдЕрдЧрд▓реА рд╡рд╕реНрддреБ рджреЗрддрд╛ рд╣реИред

рдЗрд╕реЗ рдЬрд╛рдВрдЪреЗрдВ:

 for c in Counter(3, 8): print(c) 

рдирд┐рд╖реНрдкрд╛рджрди рдкрд░рд┐рдгрд╛рдо:

3
4
5
6
7
8


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

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

 map(function, iterable) 

рдорд╛рди рд▓реЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддрддреНрд╡реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╕реВрдЪреА рд╣реИ:

[1, 2, 3, 4, 5]

рдФрд░ рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдХреЛ рд╡рд░реНрдЧрд╛рдХрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

 x = [1, 2, 3, 4, 5] def square(num): return num*num print(list(map(square, x))) 

рдкрд╛рдпрдерди рдореЗрдВ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдХрд╛рд░реНрдп рдЖрд▓рд╕реА рд╣реИрдВред рдпрджрд┐ рд╣рдо "рд╕реВрдЪреА ()" рдирд╣реАрдВ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рддреЛ рдлрд╝рдВрдХреНрд╢рди рдХрдВрдЯреЗрдирд░ (рд╕реВрдЪреА) рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░реЗрдЧрд╛, рдФрд░ рд╕реВрдЪреА рдХреЛ рд╣реА рдирд╣реАрдВред рд╣рдореЗрдВ рд╕реАрдзреЗ рдЗрд╕реЗ рдПрдХ рд╕реВрдЪреА рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рдпрдерди рдХреЛ рдмрддрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

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

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

рд▓рдореНрдмреЛрджрд░ рднрд╛рд╡


рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рд▓реИрдореНрдмреНрдбрд╛ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпрд╛рдБ рдХрд╛рд░реНрдп рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдБ рдПрдХ рд▓реИрдореНрдмреНрдбрд╛ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╣реИ рдЬреЛ рдкрд░рд┐рдгрд╛рдореА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдмрдврд╝рд╛рддреА рд╣реИ:

 square = lambda x: x * x 

рдФрд░, рдЗрд╕реЗ рдЪрд▓рд╛рдПрдВ:

>>> square(3)
9


рдореИрдВ рдЖрдкрдХреЛ рд╕реБрди рд╕рдХрддрд╛ рд╣реВрдВред "рдмреНрд░реИрдВрдбрди, рддрд░реНрдХ рдХрд╣рд╛рдБ рд╣реИрдВ?" рдпрд╣ рд╕рдм рдХреНрдпрд╛ рд╣реИ? рдпрд╣ рдПрдХ рдлрдВрдХреНрд╢рди рдХреА рддрд░рд╣ рдирд╣реАрдВ рд╣реИред тАЭ

рд╣рд╛рдВ, рдпрд╣ рднреНрд░рд╛рдордХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рд╕рдордЭрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рдкрдВрдХреНрддрд┐ рдореЗрдВ, рд╣рдо рдЪрд░ "рд╡рд░реНрдЧ" рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рд╣рд┐рд╕реНрд╕рд╛:

 lambda x: x * x 

рдкрд╛рдпрдерди рдХреЛ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рд╣рдо рд▓реИрдореНрдмрдбрд╛ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдЗрдирдкреБрдЯ рдХрд╛ рдирд╛рдо x рд╣реИред рдмреГрд╣рджрд╛рдиреНрддреНрд░ рдХреЗ рдмрд╛рдж рд╕рдм рдХреБрдЫ рдЗрдирдкреБрдЯ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рд╣реЛрдЧрд╛, рдФрд░ рд╣рдо рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдмрд╛рдж рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗред

рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдиреЗ рдПрдХ-рдкрдВрдХреНрддрд┐ рдХрд╛ рд░реВрдк рд▓реЗ рд▓рд┐рдпрд╛, рдЖрдкрдХреЛ рдпрд╣ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

 x = [1, 2, 3, 4, 5] print(list(map(lambda num: num * num, x))) 

рддреЛ, рд▓рдВрдмреЛрджрд░ рднрд╛рд╡реЛрдВ рдореЗрдВ, рддрд░реНрдХ рдмрд╛рдИрдВ рдУрд░ рд╣реИрдВ, рдФрд░ рдЙрди рдкрд░ рдХрд╛рд░реНрдп рджрд╛рдИрдВ рдУрд░ рд╣реИрдВред рдпрд╣ рдереЛрдбрд╝реА рдирд╛рд╕рдордЭреА рд╣реИ, рдХреЛрдИ рдЗрдирдХрд╛рд░ рдирд╣реАрдВ рдХрд░рддрд╛ред рд╕рдЪреНрдЪрд╛рдИ рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдореЗрдВ рдХреБрдЫ рд╣реИред рд╕рд╛рде рд╣реА, рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╕рд┐рдВрдЧрд▓-рд▓рд╛рдЗрди рдореЗрдВ рдмрджрд▓рдирд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИред

рдХрдо рдХрд░реЗрдВ


рдХрдо рдХрд░рдирд╛ рдПрдХ рдРрд╕рд╛ рдХрд╛рд░реНрдп рд╣реИ рдЬреЛ рдПрдХ рдкреБрдирд░рд╛рд╡реГрддреНрдд рдХрдВрдЯреЗрдирд░ рдХреЛ рдПрдХ рдЪреАрдЬ рдореЗрдВ рдмрджрд▓ рджреЗрддрд╛ рд╣реИред рдпрд╣реА рд╣реИ, рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ рдЬреЛ рд╕реВрдЪреА рдХреЛ рдПрдХ рд╣реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдмрджрд▓ рджреЗрддреА рд╣реИред рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

 reduce(function, list) 

рд╣рдо рдлрд╝рдВрдХреНрд╢рди рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реИрдореНрдмреНрдбрд╛ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдФрд░ рдЕрдХреНрд╕рд░)ред

рдпрджрд┐ рд╣рдо рд╕реВрдЪреА рдореЗрдВ рд╕рднреА рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рдЧреБрдгрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

 product = 1 x = [1, 2, 3, 4] for num in x: product = product * num 

рдФрд░ рдХрдо рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛:

 from functools import reduce product = reduce((lambda x, y: x * y),[1, 2, 3, 4]) 

рдкрд░рд┐рдгрд╛рдо рд╕рдорд╛рди рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдХреЛрдб рдХрдо рд╣реИ рдФрд░ рдЗрд╕реЗ рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рдЬреНрдЮрд╛рди рдХреЗ рд╕рд╛рдеред

рдлрд╝рд┐рд▓реНрдЯрд░


рдлрд╝рд┐рд▓реНрдЯрд░ рдлрд╝рдВрдХреНрд╢рди рдПрдХ рдкреБрдирд░рд╛рд╡реГрддреНрдд рдХрдВрдЯреЗрдирд░ рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рджрд┐рдП рдЧрдП рдирд┐рдпрдо (рдПрдХ рдлрд╝рдВрдХреНрд╢рди) рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рддрд╛ рд╣реИред

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

рд╡рд╛рдХреНрдп рд░рдЪрдирд╛:

 filter(function, list) 

рдЖрдЗрдП рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ:

 x = range(-5, 5) new_list = [] for num in x: if num < 0: new_list.append(num) 

рдлрд┐рд▓реНрдЯрд░ рдХреЗ рд╕рд╛рде:

 x = range(-5, 5) all_less_than_zero = list(filter(lambda num: num < 0, x)) 

рдЙрдЪреНрдЪ рдЖрджреЗрд╢ рдХрд╛рд░реНрдп


рдЙрдЪреНрдЪ-рдХреНрд░рдо рдХреЗ рдХрд╛рд░реНрдп рддрд░реНрдХреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╡рд╛рдкрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:

 def summation(nums): return sum(nums) def action(func, numbers): return func(numbers) print(action(summation, [1, 2, 3])) # Output is 6 #  6 

рдпрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдФрд░ рднреА рд╕рд░рд▓ рд╣реИ:

 def rtnBrandon(): return "brandon" def rtnJohn(): return "john" def rtnPerson(): age = int(input("What's your age?")) if age == 21: return rtnBrandon() else: return rtnJohn() 

рдкрд╣рд▓реЗ рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдореИрдВрдиреЗ рдХрд╣рд╛ рдХрд┐ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреА рд╣реИред рдЙрдЪреНрдЪ-рдХреНрд░рдо рдХреЗ рдХрд╛рд░реНрдп рдЗрд╕реЗ рд╕рдВрднрд╡ рдмрдирд╛рддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рдХрд╛рд░реНрдпреЛрдВ рдХреА рд▓рдВрдмреА "рд╕реБрд░рдВрдЧ" рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рдирдХрд╛рд░реА рдкрд╛рд░рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддреЛ рдЖрдкрдХреЛ рдЪрд░ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

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

  • рдПрдХ рдХрд░реНрддрд╡реНрдп рдЪрдХреНрд░ рдмрдирд╛рддрд╛ рд╣реИ
  • рдПрдХ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рдПрдХ рдЪрд░ рдпрд╛ рдЖрдЗрдЯрдо рдХреЛ рд╕реМрдВрдкрд╛
  • рдлрд╝рдВрдХреНрд╢рди рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛
  • рдлрд╝рдВрдХреНрд╢рди рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд▓реМрдЯрд╛

рддреЛ рдкрд╛рдпрдерди рдореЗрдВ рд╕рднреА рдХрд╛рд░реНрдп рдкреНрд░рдердо рд╢реНрд░реЗрдгреА рдХреА рд╡рд╕реНрддреБрдПрдВ рд╣реИрдВ, рдФрд░ рдЗрдиреНрд╣реЗрдВ рдЙрдЪреНрдЪ рдХреНрд░рдо рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЖрдВрд╢рд┐рдХ рдЖрд╡реЗрджрди


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

 def power(base, exponent): return base ** exponent 

рдЕрдм рд╣рдореЗрдВ рд╕реНрдХреНрд╡реЗрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рдиреЗ рдФрд░ рдкрд╛рд╡рд░ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

 def square(base): return power(base, 2) 

рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рд╣рдо рдПрдХ рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдШрди рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ? рдпрд╛ 4 рд╡реАрдВ рдбрд┐рдЧреНрд░реА рдореЗрдВ? рдХреНрдпрд╛ рдЖрдкрдХреЛ рдРрд╕реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП? рдмреЗрд╢рдХ рдЖрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдЖрд▓рд╕реА рд╣реИрдВред рдпрджрд┐ рдЖрдк рдПрдХ рд╣реА рдмрд╛рдд рдХреЛ рдХрдИ рдмрд╛рд░ рджреЛрд╣рд░рд╛рддреЗ рд╣реИрдВ, рддреЛ рд╕рдВрднрд╡рдд: рдЗрд╕реЗ рддреЗрдЬреА рд╕реЗ рдХрд░рдиреЗ рдФрд░ рджреЛрд╣рд░рд╛рд╡ рдХреЛ рд░реЛрдХрдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИред рдЖрдВрд╢рд┐рдХ рдЖрд╡реЗрджрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдпрд╣рд╛рдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЖрдЗрдП рдЖрдВрд╢рд┐рдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд╛рд╡рд░ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ:

 from functools import partial square = partial(power, exponent=2) print(square(2)) # output is 4 #  4 

рдХреНрдпрд╛ рдпрд╣ рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИ? рд╣рдо рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ 2 рддрд░реНрдХреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдХреЗрд╡рд▓ 1 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдФрд░ рдпрд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рдХрд┐ рджреВрд╕рд░рд╛ рдЕрдкрдиреЗ рдЖрдк рдХреНрдпрд╛ рд╣реЛрдЧрд╛ред

рдЖрдк рдПрдХ рд╢рдХреНрддрд┐ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ 1000 рд╡реАрдВ рд╢рдХреНрддрд┐ рддрдХ рдХреНрдпреВрдмреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдЧрд╛ред

 from functools import partial powers = [] for x in range(2, 1001): powers.append(partial(power, exponent = x)) print(powers[0](3)) # output is 9 #  9 

рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдкрд╛рдЗрдереЛрдирд┐рдХ рдХреИрдирди рд╕реЗ рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддреА рд╣реИ


рдЖрдкрдиреЗ рджреЗрдЦрд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЗрдВ рдмрд╣реБрдд рд╕реА рдЪреАрдЬреЗрдВ рдЬреЛ рд╣рдо рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд╡реЗ рд╕реВрдЪрд┐рдпреЛрдВ рдореЗрдВ рдШреВрдорддреА рд╣реИрдВред рдХрдо рдлрд╝рдВрдХреНрд╢рди рдФрд░ рдЖрдВрд╢рд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЙрди рд╕рднреА рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЛ, рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдкрдиреЗ рд╕реВрдЪреА рдмрдирд╛рдИ рдереАред рдЧреБрдЗрджреЛ (рдкрд╛рдпрдерди рдХреЗ рдирд┐рд░реНрдорд╛рддрд╛) рдкрд╛рдпрдерди `рдореЗрдВ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдЪреАрдЬреЛрдВ рдХреЛ рдкрд╕рдВрдж рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдкрд╛рдпрдерди рдХреЗ рдкрд╛рд╕ рд╕реВрдЪреА рдмрдирд╛рдиреЗ рдХрд╛ рдЕрдкрдирд╛ рддрд░реАрдХрд╛ рд╣реИред

рдпрджрд┐ рдЖрдк рдХрдВрд╕реЛрд▓ рдореЗрдВ "рдЗрд╕реЗ рдЖрдпрд╛рдд рдХрд░реЗрдВ" рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдорд┐рд▓реЗрдЧрд╛:
>>> import this

The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one тАФ and preferably only one тАФ obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea тАФ let's do more of those!


рдпрд╣ рдкрд╛рдпрдерди рдЬрд╝реЗрди рд╣реИред рдпрд╣ рдПрдХ рдХрд╡рд┐рддрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдЕрд░реНрде рдПрдХ рдЕрдЬрдЧрд░ рд╣реИред рд╡рд╣ рд╣рд┐рд╕реНрд╕рд╛ рдЬреЛ рд╣рдореЗрдВ рд░реБрдЪрддрд╛ рд╣реИ:

рдПрдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП - рдФрд░ рдЕрдзрд┐рдорд╛рдирддрдГ рдХреЗрд╡рд▓ рдПрдХ - рд╕реНрдкрд╖реНрдЯ рддрд░реАрдХрд╛ рдпрд╣ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред

рдХреЗрд╡рд▓ рдПрдХ рд╣реА рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП - рдФрд░ рдЕрдзрд┐рдорд╛рдирддрдГ рдХреЗрд╡рд▓ рдПрдХ рд╣реА - рдХреБрдЫ рдХрд░рдиреЗ рдХрд╛ рд╕реНрдкрд╖реНрдЯ рддрд░реАрдХрд╛ред

рдкрд╛рдпрдерди рдореЗрдВ, рдорд╛рдирдЪрд┐рддреНрд░ рдФрд░ рдлрд╝рд┐рд▓реНрдЯрд░ рд╕реВрдЪреА рдЕрдореВрд░реНрдд ( рд▓рд┐рдВрдХ ) рдХреЗ рд╕рдорд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдкрд╛рдпрдерди-рдЬрд╝реЗрди рдХреЗ рдирд┐рдпрдореЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХрд╛ рдпрд╣ рд╣рд┐рд╕реНрд╕рд╛ "рдкрд╛рдпрдереЛрдирд┐рдХ" рдирд╣реАрдВ рд╣реИред

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

 foo = lambda a: 2 def foo(a): return 2 

рдПрдХ рдорд╛рдирдХ рдлрд╝рдВрдХреНрд╢рди рдЕрднреА рднреА рд▓реИрдореНрдмрдбрд╛ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рдорд╛рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рдирд╣реАрдВред рдПрдХ рд▓реИрдореНрдмреНрдбрд╛ рдлрд╝рдВрдХреНрд╢рди рдПрдХ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рд╕рдорд╛рди рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдпрд╣ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдЫреЛрдЯреА рдЯрд┐рдкреНрдкрдгреА рдереА рдХрд┐ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдкрд╛рдЗрдереЛрдирд┐рдХ рд╡рд┐рдЪрд╛рд░рдзрд╛рд░рд╛ рдХреЗ рд▓рд╛рдпрдХ рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реИред рдкрд╣рд▓реЗ, рдореИрдВрдиреЗ рд╕реВрдЪрд┐рдпреЛрдВ рдХреЗ рдЕрдореВрд░реНрдд рд╣реЛрдиреЗ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ ( рд╕реВрдЪреА рд╕рдорд╛рд╡реЗрд╢рди рднреА ), рдЕрдм рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВред

рдЕрдореВрд░реНрдд рд╕реВрдЪреА


рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдХрд╣рд╛ рд╣реИ рдХрд┐ рдорд╛рдирдЪрд┐рддреНрд░ рдФрд░ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЬреЛ рдХреБрдЫ рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд╡рд╣ рд╕реВрдЪреА рдЕрдореВрд░реНрддрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рднрд╛рдЧ рдореЗрдВ рд╣рдо рдЗрд╕ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВрдЧреЗред

рд╕реВрдЪреА рдЕрдореВрд░реНрддрддрд╛ рдкрд╛рдпрдерди рдореЗрдВ рд╕реВрдЪреА рдмрдирд╛рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИред рд╡рд╛рдХреНрдп рд░рдЪрдирд╛:

 [function for item in iterable] 

рдЖрдЗрдП рд╕реВрдЪреА рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдЖрдЗрдЯрдо рдХреЛ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рджреЗрдЦреЗрдВ:

 print([x * x for x in [1, 2, 3, 4]]) 

рдареАрдХ рд╣реИ, рд╣рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╕реВрдЪреА рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдкрд░ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдПред рд╣рдо рдлрд╝рд┐рд▓реНрдЯрд░ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ? рдЗрд╕ рдХреЛрдб рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ:

 x = range(-5, 5) all_less_than_zero = list(filter(lambda num: num < 0, x)) print(all_less_than_zero) 

рдЕрдм рд╕реВрдЪреА рдЕрдореВрд░реНрдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:

 x = range(-5, 5) all_less_than_zero = [num for num in x if num < 0] 

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

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

 x = range(-5, 5) all_less_than_zero = list(map(lambda num: num * num, list(filter(lambda num: num < 0, x)))) 

рдпрд╣ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рддрд░реНрдХрд╕рдВрдЧрдд рдирд╣реАрдВ рд╣реИ рдФрд░ рдмрд╣реБрдд рд╕рд░рд▓ рдирд╣реАрдВ рд╣реИред рд╕реВрдЪреА рдЕрдореВрд░реНрддрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛, рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:

 x = range(-5, 5) all_less_than_zero = [num * num for num in x if num < 0] 

рд╕реВрдЪрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реВрдЪреА рдЕрдореВрд░реНрдд рдХреЗрд╡рд▓ рдЕрдЪреНрдЫрд╛, рд╡рд┐рдЪрд┐рддреНрд░ рд░реВрдк рд╕реЗ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдЪрд▓рдиреЗ рдпреЛрдЧреНрдп рдХрдВрдЯреЗрдирд░ рдХреЗ рд▓рд┐рдП рдорд╛рдирдЪрд┐рддреНрд░ рдФрд░ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдХреНрдпрд╛ рдЧрд▓рдд рд╣реИ? .. рд╣рд╛рдБ, рдЖрдк рдкреНрд░рддреНрдпреЗрдХ рдЪрд▓рдиреЗ рдпреЛрдЧреНрдп рдХрдВрдЯреЗрдирд░ рдХреЗ рд▓рд┐рдП рдЕрдореВрд░реНрдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ рдорд┐рд▓рддреЗ рд╣реИрдВред

рдЕрдиреНрдп рд╕рд╛рд░


рдЖрдк рдкреНрд░рддреНрдпреЗрдХ рдЪрд▓рдиреЗ рдпреЛрдЧреНрдп рдХрдВрдЯреЗрдирд░ рдХреЗ рд▓рд┐рдП рдЕрдореВрд░реНрдд рдЖрд╡реЗрджрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдкреНрд░рддреНрдпреЗрдХ рдЪрд▓рдиреЗ рдпреЛрдЧреНрдп рдХрдВрдЯреЗрдирд░ рдХреЛ рдЕрдореВрд░реНрдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╕рдВрд╕реНрдХрд░рдг 2.7 рд╕реЗ рд╢реБрд░реВ рд╣реЛрдХрд░, рдЖрдк рдПрдХ рд╢рдмреНрджрдХреЛрд╢ (рд╣реИрд╢ рдЯреЗрдмрд▓) рднреА рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред

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

  • рд╕реЗрдЯ рддрддреНрд╡реЛрдВ рдХрд╛ рдПрдХ рдХрдВрдЯреЗрдирд░ рд╣реИ, рдЗрд╕рдореЗрдВ рдореМрдЬреВрдж рддрддреНрд╡реЛрдВ рдХреЛ рджреЛрд╣рд░рд╛рдпрд╛ рдирд╣реАрдВ рдЬрд╛рддрд╛ рд╣реИ
  • рдЖрджреЗрд╢ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ

 # taken from page 87, chapter 3 of Fluent Python by Luciano Ramalho #    Fluent Python, . 87, . 3 >>> from unicodedata import name >>> {chr(i) for i in range(32, 256) if 'SIGN' in name(chr(i), '')} {'├Ч', '┬е', '┬░', '┬г', '', '#', '┬м', '%', '┬╡', '>', '┬д', '┬▒', '┬╢', '┬з', '<', '=', '', '$', '├╖', '┬в', '+'} 

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

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


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

рд▓реЗрдЦрдХ рдкреГрд╖реНрда ред

Source: https://habr.com/ru/post/hi456814/


All Articles