рдЙрдиреНрдирдд рдкрд╛рдпрдерди рд╡рд┐рдХрд╛рд╕ рдкрд╛рдареНрдпрдХреНрд░рдо
рдЕрдзреНрдпрд╛рдп 6
>
рд╕реНрддрд░ 2
рдЙрджреНрджреЗрд╢реНрдп
рдбреЗрдХреЛрд░реЗрдЯрд░реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рд╛рдордЧреНрд░реА рдПрдХрддреНрд░ рдХрд░реЗрдВ рдФрд░ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреА рдкрд┐рдЬреНрдЬрд╛ рддреИрдпрд╛рд░ рдХрд░реЗрдВред
рдЕрдм рдЬрдм рдУрд╡рди рд╕реЗрдЯрдЕрдк рдХрд░ рджрд┐рдП рдЧрдП рд╣реИрдВ, рддреЛ рдмрд╛рдж рдореЗрдВ рдкрдХрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдкрд┐рдЬреНрдЬрд╛ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИред рдЕрдм рдЬрдм рд╣рдореЗрдВ рдбреЗрдХреЛрд░реЗрдЯрд░реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖ рдЧрдпрд╛ рд╣реИ, рддреЛ рд╣рдо рдЙрдиреНрд╣реЗрдВ рдереЛрдбрд╝рд╛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдкрд░ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХреЛрдб рдореЗрдВ @ рдЪрд┐рдиреНрд╣ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдбреЗрдХреЛрд░реЗрдЯрд░ рдХреЗ рдирд╛рдо рдХреЗ рд╕рд╛рде рдФрд░ рдЗрд╕ рдХреЛрдб рдХреЛ рдбреЗрдХреЛрд░реЗрдЯреЗрдб рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдКрдкрд░ рд░рдЦрдХрд░, рд╣рдо рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╡реИрд░рд┐рдПрдмрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдбреЗрдХреЛрд░реЗрдЯрд░ рд╕рдВрд▓рдЧреНрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
# Decorator
def create_pizza(func):
def set():
pizza = ["dough","red sauce","cheese"]
player.combine(pizza)
func()
return set
# Function being decorated with @
@create_pizza
def peperoni_pizza():
player.place("Peperoni")
player.speak("Peperoni Pizza has been prepped")
# Using pre-decorated function
peperoni_pizza()
рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдпрд╣ рддрдХрдиреАрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕рд░рд▓ рдмрдирд╛ рджреЗрддреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдкрд╣рд▓реЗ рд╕реЗ рдбреЗрдХреЛрд░реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХрднреА-рдХрднреА рдЖрдк рдЕрдзрд┐рдХ рд▓рдЪреАрд▓рд╛рдкрди рдХреЗ рд▓рд┐рдП рдбреЗрдХреЛрд░реЗрдЯрд░ рдХреЛ рдПрдХ рд╡реИрд░рд┐рдПрдмрд▓ рдореЗрдВ рдЕрд╕рд╛рдЗрди рдХрд░рдирд╛ рдЪрд╛рд╣ рд╕рдХрддреЗ рд╣реИрдВред
рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЧреЛрд▓реНрдб X рдорд╛рд░реНрдХ рддрдХ рдЬрд╛рдПрдВ рдФрд░ рдкрд┐рдЬреНрдЬрд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рдордЧреНрд░реА рдПрдХрддреНрд░ рдХрд░реЗрдВред рдкрд┐рдЬреНрдЬрд╛ рдмрдирд╛рдиреЗ рдХреА рд╕рд╛рдордЧреНрд░реА рд╣реИрдВ: "cheese", "dough", "red sauce", "peperoni", "ham", "olive", "pepper", "onion" рдФрд░ "pineapple". рдЗрдирдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рд╛рдордЧреНрд░реА рдкреИрдВрдЯрд░реА рдХреА рд╢реЗрд▓реНрд╡реНрд╕ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдПрдХ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рдЕрдВрджрд░ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдЖрдк рдЙрд╕ рд╕реВрдЪреА рдореЗрдВ рд╕рднреА рдЖрдЗрдЯрдо рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП List Comprehensions рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
shelves = [ ["cheese", "dough", "jar"], ["jar", "red sauce", "jar"], ["peperoni", "jar" , "ham"], ["olive", "pepper", "onions"] ] ingredients = [ item for row in shelves for item in row if not "jar" in item]
рдКрдкрд░ рджрд┐рдП рдЧрдП рдХреЛрдб рдореЗрдВ рд╕реВрдЪреА ingredients, shelves рдирд╛рдордХ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрдХреНрд░ рд▓рдЧрд╛рддреА рд╣реИ рдФрд░ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдореЗрдВ "jar" рдирд╛рдордХ рд╕рднреА рдЖрдЗрдЯрдореЛрдВ рдХреЛ рдирд┐рдХрд╛рд▓ рджреЗрддреА рд╣реИред рдпрд╣ List Comprehension рд╣рдореЗрдВ рд╕рдм рдХреБрдЫ рдореИрдиреНрдпреБрдЕрд▓реА рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдмрдЪрд╛рддрд╛ рд╣реИред рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЖрдЗрдЯрдореЛрдВ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП speak() рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рд╛рдордЧреНрд░реА рд╕реВрдЪреА рдХреЗ рд╕рд╛рде рдХрд░реЗрдВред
рдПрдХ рдмрд╛рд░ рдЬрдм "pineapple" рдЫреЛрдбрд╝рдХрд░ рд╕рднреА рд╕рд╛рдордЧреНрд░реА рдПрдХрддреНрд░ рдХрд░ рд▓реА рдЬрд╛рддреА рд╣реИ, рддреЛ рдкрд┐рдЬреНрдЬрд╛ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдлрд╝рдВрдХреНрд╢рдиреНрд╕ рдореЗрдВ place() рдлрд╝рдВрдХреНрд╢рди рдЬреЛрдбрд╝рд╛ рдЬрд╛рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЙрдирдХреА рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдкреВрд░реА рд╣реЛ рд╕рдХреЗред рдпреЗ рдлрд╝рдВрдХреНрд╢рди рдХреЛрдб рдПрдбрд┐рдЯрд░ рдореЗрдВ рд╕реЗрдЯрдЕрдк рдХрд┐рдП рдЧрдП рд╣реИрдВ рдФрд░ рдЗрдирдХрд╛ рдирд╛рдо рд╣реИ: peperoni_pizza() (рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ: "peperoni"), vegetable_pizza() (рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИрдВ: "olive", "pepper", "onion") рдФрд░ pineapple_pizza() (рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИрдВ: "ham" рдФрд░ "pineapple")ред
рдбрд╛рд░реНрдХ X рдорд╛рд░реНрдХреНрд╕ рддрдХ рдЬрд╛рдПрдВ рдФрд░ рдбреЗрдХреЛрд░реЗрдЯреЗрдб рдлрд╝рдВрдХреНрд╢рдиреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд┐рдЬреНрдЬрд╛ рддреИрдпрд╛рд░ рдХрд░реЗрдВред рд▓рд╛рд▓ рдХрд╛рд▓реАрди рд╡рд╛рд▓реЗ X рдорд╛рд░реНрдХреНрд╕ рдкрд░ peperoni_pizza() рдмрдирд╛рдПрдВ, рд╣рд░реЗ рдХрд╛рд▓реАрди рдкрд░ vegetable_pizza() рдмрдирд╛рдПрдВ рдФрд░ рдкреАрд▓реЗ рдХрд╛рд▓реАрди рдкрд░ pineapple_pizza() рдмрдирд╛рдПрдВред рдкреАрд▓реЗ рдХрд╛рд▓реАрди рдХреА рдУрд░ рдмрдврд╝рддреЗ рд╕рдордп, рд▓рд╛рдЗрдЯ X рдорд╛рд░реНрдХ рдкрд░ рд░реБрдХреЗрдВ, рдХреИрдмрд┐рдиреЗрдЯ рдХреА рдУрд░ рджреЗрдЦреЗрдВ рдФрд░ collect() рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ "pineapple" рд▓реЗрдВред рд▓реЗрд╡рд▓ рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рдкрд┐рдЬреНрдЬрд╛ рддреИрдпрд╛рд░ рдХрд░реЗрдВред