рдЙрдиреНрдирдд рдкрд╛рдпрдерди рд╡рд┐рдХрд╛рд╕ рдкрд╛рдареНрдпрдХреНрд░рдо
рдЕрдзреНрдпрд╛рдп 6
>
рд╕реНрддрд░ 1
рдХрд╕реНрдЯрдо рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдПрдХ рд╡рд┐рд╕реНрддреГрдд рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╣реЛрддреА рд╣реИ, рд╣рд╛рд▓рд╛рдБрдХрд┐ рдХрднреА-рдХрднреА рдЖрдк рдХрд┐рд╕реА рдореМрдЬреВрджрд╛ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕реЗ рдбреЗрдХреЛрд░реЗрдЯрд░ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╣ рдПрдХ рдРрд╕рд╛ рдлрд╝рдВрдХреНрд╢рди рд╣реИ рдЬрд┐рд╕реЗ рдореМрдЬреВрджрд╛ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХрд╛ рдирд╛рдо рднреА рдпрд╣реА рд╣реИред
рдЗрд╕ рд╕реНрддрд░ рдХреЗ рд▓рд┐рдП, рдУрд╡рди рдХреЛ рдЦрд╛рджреНрдп рддреИрдпрд╛рд░реА рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдХрд░рдиреЗ рд╣реЗрддреБ рдкреНрд░реАрдк рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдУрд╡рди рдореЗрдВ рдЖрдЧ рдХреА рд▓рдХрдбрд╝реА рдбрд╛рд▓рдиреЗ рдХреЗ рдмреАрдЪ open() рдФрд░ close() рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрдХреЛрд░реЗрдЯрд░реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

рдЙрджреНрджреЗрд╢реНрдп
рдбреЗрдХреЛрд░реЗрдЯрд░реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЦрд╛рдирд╛ рдкрдХрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░реА рдХрд░рдиреЗ рд╣реЗрддреБ рдУрд╡рди рдореЗрдВ рдЖрдЧ рдХреА рд▓рдХрдбрд╝реА рднрд░реЗрдВ рдФрд░ рдУрд╡рди рдХреЛ рд╕реЗрдЯ рдХрд░реЗрдВред
рдИрдВрдЯ рдХреЗ рдУрд╡рди рдХреЛ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рдЖрдк рд╢рд╛рдо рдХреЗ рдмрд╛рдж рднреЛрдЬрди рдмреЗрдХ рдХрд░ рд╕рдХреЗрдВред рдУрд╡рди рдмрдВрдж рдФрд░ рдЦрд╛рд▓реА рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЬрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЖрдЧ рдХреА рд▓рдХрдбрд╝реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдереЛрдбрд╝реА рдЖрдЧ рдХреА рд▓рдХрдбрд╝реА рдЙрдард╛рдПрдВ рдФрд░ рдЙрд╕реЗ рдУрд╡рди рдореЗрдВ рдбрд╛рд▓ рджреЗрдВ рддрд╛рдХрд┐ рдЖрдк рдЦрд╛рдирд╛ рдкрдХрд╛рдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХреЗрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЖрдк рдЗрд╕реЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдпрд╛ рдПрдХ рдХрд╕реНрдЯрдо рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдбреЗрдХреЛрд░реЗрдЯрд░реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рддреЗрдЬ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдбреЗрдХреЛрд░реЗрдЯрд░реНрд╕ рдРрд╕реЗ рдПрдб-рдСрди рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдХрд┐рд╕реА рдХрд╕реНрдЯрдо рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЗрд╕рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрдиреБрд╕рд╛рд░ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ рдмрд┐рдирд╛ рдЗрд╕реЗ рд╢рд░реНрддреЛрдВ рдХреЗ рд╕рд╛рде рдЬрдЯрд┐рд▓ рдХрд┐рдПред
# Decorator, adds extra functionality to another function
def load_wood(func):
def load():
player.open()
func()
player.close()
return load
# Custom function that can be decorated
def add_wood():
player.place("firewood")
player.speak("Three logs placed in oven")
# Decorate the custom function
prep_oven = load_wood(add_wood)
рдорд╛рдирдЪрд┐рддреНрд░ рдХреЗ рдирд┐рдЪрд▓реЗ рд╣рд┐рд╕реНрд╕реЗ рдореЗрдВ рд╕реНрдерд┐рдд рд╕реНрдЯреЛрд░реЗрдо рдореЗрдВ рдЬрд╛рдПрдБ рдФрд░ рд▓реЙрдЧ рдмреБрдВрдбрд▓реЛрдВ рдХреЗ рдЪрд╛рд░ (4) рдЯреБрдХрдбрд╝реЗ рдПрдХрддреНрд░ рдХрд░реЗрдВред
рдЧреЛрд▓реНрдб X рдорд╛рд░реНрдХ рддрдХ рдЬрд╛рдПрдБ рдФрд░ read() рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрд╕ рдмрд╛рд░ рдкрд░ рд▓рдЧреЗ рдореЗрдореЛ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ рдЬрд┐рд╕рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдУрд╡рди рдХреА рддрд╛рдкрдорд╛рди рдХреИрд╕реЗ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдкреЙрдк-рдЕрдк рдореЗрдВ рджреА рдЧрдИ рдЬрд╛рдирдХрд╛рд░реА рдиреЛрдЯ рдХрд░ рд▓реЗрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЛ рдмрд╛рдж рдореЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
рдЗрд╕рдХреЗ рдмрд╛рдж, рдУрд╡рди рдХреЗ рдкрд╛рд╕ рд╕реНрдерд┐рдд рд╣рд▓реНрдХреЗ X рдорд╛рд░реНрдХреНрд╕ рдкрд░ рдЬрд╛рдПрдБ рдФрд░ рдЖрдЧ рдХреА рд▓рдХрдбрд╝реА рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрдХреЛрд░реЗрдЯреЗрдб рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдЗрд╕ рдкреНрд░рдХрд╛рд░: prep_oven() ред
рдЬреИрд╕реЗ рд╣реА рдЖрдк рдУрд╡рди рдореЗрдВ рдЖрдЧ рдХреА рд▓рдХрдбрд╝реА рдбрд╛рд▓рддреЗ рд╣реИрдВ, рд░рдВрдЧреАрди рдХрд╛рд▓реАрдиреЛрдВ рдкрд░ рд╕реНрдерд┐рдд рдЧрд╣рд░реЗ X рдорд╛рд░реНрдХреНрд╕ рдХреА рдУрд░ рдЬрд╛рдПрдБ рдФрд░ question() async рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдУрд╡рди рдХрд╛ рддрд╛рдкрдорд╛рди рд╕реЗрдЯ рдХрд░реЗрдВред
рд╕рд╣рд╛рдпрдХ рдлрд╝рдВрдХреНрд╢рди рдкрд╣рд▓реЗ рд╕реЗ рд╕реЗрдЯрдЕрдк рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬрд┐рд╕рдХрд╛ рдирд╛рдо set_temperature() рд╣реЛрдЧрд╛, рдФрд░ рдкреНрд░рд╢реНрди рдХрд╛ рдЖрдкрдХрд╛ рдЙрддреНрддрд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдЧрд╛ рдХрд┐ рддрд╛рдкрдорд╛рди High рдпрд╛ Medium рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рддрд╛рдкрдорд╛рди рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦреЗрдВ рдФрд░ рдкрд╣рд▓реЗ рдкрдврд╝реЗ рдЧрдП рдореЗрдореЛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдкреНрд░рд╢реНрди рдХрд╛ рдЙрддреНрддрд░ рджреЗрдВ, рдкреНрд░рддреНрдпреЗрдХ рддрд╛рдкрдорд╛рди рдХреЛ рд╕рдВрдмрдВрдзрд┐рдд рд░рдВрдЧреАрди рдХрд╛рд▓реАрди рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕реЗрдЯ рдХрд░реЗрдВред
рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ async рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп await рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдЗрд╕ рдкреНрд░рдХрд╛рд░: await set_temperature()
рдЬрдм рдЖрдк рд╕рднреА рдЪрд╛рд░ (4) рдУрд╡рди рдХреЛ рддреИрдпрд╛рд░ рдФрд░ рд╕реЗрдЯ рдХрд░ рд▓реЗрдВрдЧреЗ, рддреЛ рдЖрдкрдиреЗ рд╕реНрддрд░ рдкреВрд░рд╛ рдХрд░ рд▓рд┐рдпрд╛ рд╣реЛрдЧрд╛ред