рдпрд╣рд╛рдБ рдПрдХ рд▓рдВрдмрд╛ рдЬрд╡рд╛рдм рд╣реИред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ , рдЬреИрд╕рд╛ рдХрд┐ рдХрд┐рд╕реА рдиреЗ рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ, TRE рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдЯреИрдХ рдЯреНрд░реЗрд╕рд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдЕрд╕рдВрдЧрдд рд╣реИ: рдЬрдм рдкреВрдВрдЫ рдХреА рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдХреБрдЫ рдЧрд▓рдд рд╣реЛрдиреЗ рдкрд░ рдЯреНрд░реЗрд╕рдмреИрдХ рдкреНрд░рд┐рдВрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕реНрдЯреИрдХ рдлреНрд░реЗрдо рдирд╣реАрдВ рдмрдЪрд╛ рд╣реИред рдпрд╣ рдЙрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рднреНрд░рдорд┐рдд рдХрд░реЗрдЧрд╛ рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдЕрдирдЬрд╛рдиреЗ рдореЗрдВ рдХреБрдЫ рдкреБрдирд░рд╛рд╡рд░реНрддреА рд▓рд┐рдЦрд╛ рдерд╛ (рд╕реНрдЯреИрдХ рдЯреНрд░реЗрд╕ рдореЗрдВ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ), рдЗрд╕реЗ рдбреАрдмрдЧ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрдЧрд╛ред TRE рдХреЛ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рдореЗрд░реЗ рд▓рд┐рдП рдЧрд▓рдд рд▓рдЧрддрд╛ рд╣реИ: рдкрд╛рдпрдерди рдХреЛ рд╣рдореЗрд╢рд╛ рд╕рдВрднрд╡ рдХреЗ рд░реВрдк рдореЗрдВ рдбреАрдмрдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдореБрдЭреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдирд┐рд╖реНрдХрд░реНрд╖ рдкрд░ рд▓реЗ рдЬрд╛рддрд╛ рд╣реИ:
рджреВрд╕рд░реЗ , рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдХрд┐ TRE рд╕рд┐рд░реНрдл рдПрдХ рдЕрдиреБрдХреВрд▓рди рд╣реИ рдЬрд┐рд╕реЗ рдПрдХрд▓ рдкрд╛рдпрдерди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдЧрд▓рдд рд╣реИред рдПрдХ рдмрд╛рд░ рдкреВрдВрдЫ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рд╣рдЯрд╛рдиреЗ рдХреА рд╢реБрд░реБрдЖрдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛрдб рд▓рд┐рдЦрдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрдВрдЧреЗ рдЬреЛ рдЗрд╕ рдЕрдиреБрдХреВрд▓рди рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЙрдирдХрд╛ рдХреЛрдб рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдЬреЛ рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ: рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд╛рдпрдерди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЖрдкрдХреЛ 1000 рдкреБрдирд░рд╛рд╡рд░реНрддреА рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдЧреИрд░-рдкреБрдирд░рд╛рд╡рд░реНрддреА рд▓рд┐рдЦрд┐рдд рдХреЛрдб рдФрд░ рдХреЛрдб рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИрдВ , рдЬрд┐рд╕реЗ рдкреБрдирд░рд╛рд╡рд░реНрддреА рд░реВрдк рд╕реЗ рдЕрдиреБрдкреНрд░рд╕реНрде рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдкреЗрдбрд╝, рд▓реЗрдХрд┐рди рдПрдХ рдмрдбрд╝реА рд╕реВрдЪреА рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдкреБрдирд░рд╛рд╡рд░реНрддреА рд▓рд┐рдЦрд┐рдд рд▓реВрдк рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИред
рддреАрд╕рд░рд╛ , рдореИрдВ рд╕рднреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рдЖрдзрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдореЗрдВ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдирд╣реАрдВ рдХрд░рддрд╛ред рдпрд╣ рдХреБрдЫ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░реНрд╕ рдХреА рдореВрд▓ рдзрд╛рд░рдгрд╛ рд╣реИ, рдЦрд╛рд╕рдХрд░ рдЬреЛ рд╕реНрдХреАрдо рд╕реЗ рдкреНрдпрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╕реАрдЦрдирд╛ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдкреБрдирд░рд╛рд╡рд░реНрддрди рдХреЗрд╡рд▓ рдореМрд▓рд┐рдХ рдЧрдгрд┐рдд рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИ, рд▓реЗрдХрд┐рди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рджреИрдирд┐рдХ рдЙрдкрдХрд░рдг рдирд╣реАрдВ рд╣реИред
рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдкрд╛рдпрдерди-рд╢реИрд▓реА рдХреА рд╕реВрдЪрд┐рдпрд╛рдВ (рдЬреЛ рдЧрддрд┐рд╢реАрд▓ рд▓рдВрдмрд╛рдИ рдХреЗ рд╕рд╛рде рд╕рд░рдгрд┐рдпрд╛рдБ рд╣реИрдВ, рд▓рд┐рдВрдХ рдХреА рдЧрдИ рд╕реВрдЪрд┐рдпрд╛рдБ рдирд╣реАрдВ рд╣реИрдВ), рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдЕрдиреБрдХреНрд░рдо, рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреА рдЕрджреНрднреБрдд рджреБрдирд┐рдпрд╛ рдХреА рдЦреЛрдЬ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧреА рд╣реИрдВред рд╡реЗ рдЕрдиреБрднрд╡реА рдкрд╛рдпрдерди рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЙрдкрдХрд░рдгреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИрдВред рдореВрд▓реНрдпреЛрдВ рдХреЗ рдЕрдиреБрдХреНрд░рдо рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдВрдХ рдХреА рдЧрдИ рд╕реВрдЪреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд╣реИ, рдФрд░ рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдмрд╣реБрдд рдЕрдХреНрд╖рдо рд╣реИред рдкрд╛рдЗрдерди рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рдореБрдЦреНрдп рдмреНрд▓реЙрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдиреБрдХреНрд░рдореЛрдВ рдФрд░ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ (рдФрд░ рд╢рдмреНрджрдХреЛрд╢реЛрдВ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ), рдмрдЬрд╛рдп рд╕реВрдЪреАрдмрджреНрдз рд╕реВрдЪрд┐рдпреЛрдВ рдХреЗред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдпрджрд┐ рдЖрдк рд╕реВрдЪрд┐рдпреЛрдВ рдФрд░ рдЕрдиреБрдХреНрд░рдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЕрдкрдиреЗ рдЖрдк рдХреЛ рднрд╛рд╖рд╛ рдореЗрдВ рдПрдореНрдмреЗрдбреЗрдб рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рдПрдХ рд╣рд┐рд╕реНрд╕реЗ рд╕реЗ рд╡рдВрдЪрд┐рдд рдХрд░реЗрдВрдЧреЗред
рдЕрдВрдд рдореЗрдВ, рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рд╣рдо рдкреВрдВрдЫ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рд╣рдЯрд╛рдиреЗ рдХреЛ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдкрд╣рд▓рд╛ рдЕрд╡рд▓реЛрдХрди рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо рд╕рдВрдХрд▓рди рд╕рдордп рдкрд░ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдореИрдВрдиреЗ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рджреЗрдЦреА рдЬрд┐рд╕рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП CET рдХреЛ рд╕реАрдзреЗ RETURN рдХреЗ рд╕рд╛рде рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдЗрдЯрдХреЛрдб рд╣реИрдХрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рдбреЗрдореЛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдкрд╛рдпрдерди рдХрдВрдкрд╛рдЗрд▓рд░ рдордЬрд╝рдмреВрддреА рд╕реЗ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдХреЛрдИ рд╡рд┐рд╢реЗрд╖ рдХреЙрд▓ рд╡рд░реНрддрдорд╛рди рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ, рднрд▓реЗ рд╣реА рдЙрд╕рдХрд╛ рд╕рдорд╛рди рдирд╛рдо рд╣реЛред рдЗрд╕ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:
def f(x): if x > 0: return f(x-1) return 0
рдЖрдк рд╢рд░реАрд░ рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ:
if x > 0: x = x-1 <jump to top> return 0
рдпрд╣ рдХрд╛рдлреА рд╕рд░рд▓ рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдм рдЗрд╕реЗ рдЬреЛрдбрд╝реЗрдВ:
g = f def f(x): return x g(5)
рдЬреА (5) рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рдкрд╣рд▓реЗ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдлрд╝рдВрдХреНрд╢рди рдЪ рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди "рдкреБрдирд░рд╛рд╡рд░реНрддреА" рдХреЙрд▓ рдЕрдм рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ! рд░рди рд╕рдордп рдореЗрдВ, 'f' рдирд╛рдо рдХреЛ рдЧреИрд░-рдкреБрдирд░рд╛рд╡рд░реНрддреА рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдкреБрдирд░реНрдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд▓реМрдЯрд╛рдпрд╛ рдЧрдпрд╛ рдорд╛рди 4 рд╣реИ, 0. рдирд╣реАрдВред рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ, рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдЦрд░рд╛рдм рд╢реИрд▓реА рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдкрд╛рдпрдерди рд▓реИрдВрдЯрд┐рдХреНрд╕ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рддрд╛рд░реНрдХрд┐рдХ рдмрдирд╛рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВ рдЙрдкрдпреЛрдЧ, рдФрд░ рд╕рдВрдХрд▓рдХ рдиреЗ рдЗрд╕ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреЛ рдЗрд╕ рдЙрдореНрдореАрдж рдореЗрдВ рдмрдирд╛рдпрд╛ рдХрд┐ рдПрдл рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд░рд╣реЗрдЧреА, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреЛрдб рдореЗрдВ рдХрд╛рдлреА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрдЧрд╛ред
рдПрдХ рдЕрдиреНрдп рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдбреЗрдХреЛрд░реЗрдЯрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдерд╛ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЬрд╛рджреВ рдЕрдкрд╡рд╛рдж рдпрд╛ рд╡рд╛рдкрд╕реА рдореВрд▓реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреВрдВрдЫ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрдиреНрд╣реЗрдВ рд╕рд╛рджреЗ рдкрд╛рдпрдерди рдХреЛрдб рдореЗрдВ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╕рдВрджреЗрд╢ рд╕рд╛рдЗрдерди рдХреЗ рдПрдХ рдЕрдиреБрдХреВрд▓рд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ "рдХреЗрд╡рд▓ 10% рдзреАрдорд╛" рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдереНрд░реЗрдб-рд╕реБрд░рдХреНрд╖рд┐рдд рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИ)ред рдпрджрд┐ рдЖрдк рдмрд╣реБрдд рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдЖрдкрдХреЛ рд░реЛрдХрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕ рддрд░рд╣ рдХреА рднрд╛рд╖рд╛ рдХреА рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдореЗрдВ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдкрд░ рдЬреЛрд░ рджреЗрддрд╛ рд╣реВрдВ: рдПрдХ рдбреЗрдХреЛрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░рдиреЗ рдХреЗ рдХрдИ рдХрд╛рд░рдг рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдорд╛рдирддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рднреА рдкреБрдирд░рд╛рд╡рд░реНрддреА рдХреЙрд▓ рдкреВрдБрдЫрддрд╛ рд╣реИ рдФрд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдХрдо рдЕрдиреБрднрд╡реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд╣рд╛рдереЛрдВ рдореЗрдВ, рдпрд╣ рдЖрдкрджрд╛рдУрдВ рдХреЛ рдЬрдиреНрдо рджреЗрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдлреИрдХреНрдЯрд░рд┐рдпрд▓ рдХреА рд╕рд╛рдорд╛рдиреНрдп рдкреБрдирд░рд╛рд╡рд░реНрддреА рдкрд░рд┐рднрд╛рд╖рд╛ рдкреВрдВрдЫ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдирд╣реАрдВ рд╣реИ:
def fact(n): if n > 1: return n * fact(n-1) return 1
рдРрд╕реЗ рдХрдИ рдХрд╛рд░реНрдп рднреА рд╣реИрдВ рдЬрд┐рдирдореЗрдВ рдПрдХ рдирд┐рдпрдорд┐рдд рдкреБрдирд░рд╛рд╡рд░реНрддреА рдХреЙрд▓ рдХреЗ рд╕рд╛рде рдкреВрдВрдЫ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рд╢рд╛рдорд┐рд▓ рд╣реИ; рд╕рдЬреНрдЬрд╛рдХрд╛рд░ рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдПрдХ рдФрд░ рд╕реВрдХреНрд╖реНрдорддрд╛ рд╣реИ рдХрд┐ рдРрд╕реЗ рд╕рдЬреНрдЬрд╛рдХрд╛рд░ рд╕рдВрднрд╛рд▓ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдХреЛрд╢рд┐рд╢ рдмреНрд▓реЙрдХреЛрдВ рдореЗрдВ рдкреВрдВрдЫ рдкреБрдирд░рд╛рд╡рд░реНрддреА рдХреЙрд▓ рд╣реИ: рдРрд╕рд╛ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рд╕рдорд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рдХреНрдпреЛрдВрдХрд┐ рдЯреАрдЖрд░рдИ рдЕрдкрд╡рд╛рдж рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдХреЛ рд╣рдЯрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрди рд╕рднреА рдХрд╛рд░рдгреЛрдВ рд╕реЗ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рдХрдо рд╕реЗ рдХрдо рд╡реНрдпрд╛рдкрдХ рджрд░реНрд╢рдХреЛрдВ рдХреЗ рд▓рд┐рдП рдмрд░реНрдмрд╛рдж рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЛ TRE рдХреЛ Cpython (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП) рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдЖрдк рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЛ рдЗрд╕ рддрд░рд╣ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, "рд╕реБрд░рдХреНрд╖рд┐рдд" рдкреВрдВрдЫ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдмрд┐рдВрджреБрдУрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреЙрд▓ рдСрдкрд░реЗрд╢рди рдХреЛрдб, рддреБрд░рдВрдд RETURN рдСрдкрд░реЗрд╢рди рдХреЛрдб рдХреЗ рдмрд╛рдж, рдЬрдмрдХрд┐ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХреЛрд╢рд┐рд╢ рдмреНрд▓реЙрдХреЛрдВ рдХреЗ рдмрд╛рд╣рд░ред (рдиреЛрдЯ: рдореИрдВ рд╡рд┐рднрд┐рдиреНрди CALL_ * рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реВрдВ рдЬреЛ рд╕рдорд╛рди рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдЖрд╕рд╛рди рд╣реИрдВред) рдЕрдЧрд▓рд╛, рдкреНрд░рддреНрдпреЗрдХ рдРрд╕реЗ CALL-RETURN рдЬреЛрдбрд╝реА рдХреЛ рдПрдХ рдПрдХрд▓ CALL_RETURN рдСрдкрд░реЗрд╢рди рдХреЗ рд╕рд╛рде рдмрджрд▓реЗрдВред рд╕рдВрдХрд▓рдХ рдХреЛ рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдирд╛рдо рд╡рд░реНрддрдорд╛рди рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рдорд╛рди рд╣реИ: рдпрджрд┐ рд░рди рдЯрд╛рдЗрдо рдореЗрдВ рдПрдХ рдУрд╡рд░рд░рд╛рдЗрдб рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдХреЙрд▓ TRE рдХреЗ рд▓рд┐рдП рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЛ RETURN рдХреЛрдб рдХреЗ рдмрд╛рдж CALL рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рдХреНрд░рд┐рдпрд╛рдПрдВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред (рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдкреБрдирд░реНрд╡рд┐рддрд░рдг рдХреЛ рдЧрддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдбрд╛рдпрд▓ рдкреАрдпрд░ рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрдХреНрд░рдорд┐рдд рдХреБрдЫ рдХреИрд╢рд┐рдВрдЧ рддрдВрддреНрд░ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ)ред
рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ TRE рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд╣рд╛рдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, "рдЖрдХреНрд░рд╛рдордХрддрд╛" рдХреЗ рдХрдИ рд╕реНрддрд░ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХрдо рд╕реЗ рдХрдо рдЖрдХреНрд░рд╛рдордХ, "рд╡реЗрдирд┐рд▓рд╛" рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗрд╡рд▓ рдХреЙрд▓ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ, рдЬрд╣рд╛рдВ рддрдерд╛рдХрдерд┐рдд рдСрдмреНрдЬреЗрдХреНрдЯ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╣реИ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдореМрдЬреВрджрд╛ рд╕реНрдЯреИрдХ рдлреНрд░реЗрдо рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╣рдореЗрдВ рдмрд╕ рдЗрддрдирд╛ рдХрд░рдирд╛ рд╣реИ рдХрд┐ рд╡рд░реНрддрдорд╛рди рд╕реНрдЯреИрдХ рдлреНрд░реЗрдо (рдФрд░ рд╕рдХреНрд░рд┐рдп рдЫреЛрд░реЛрдВ рдХреА рддрд░рд╣ рдЕрдиреНрдп рдЫрд┐рдкреЗ рд╣реБрдП рд░рд╛рдЬреНрдп) рд╕реЗ рд╕реНрдерд╛рдиреАрдп рдЪрд░ рдХреЛ рд╕рд╛рдлрд╝ рдХрд░реЗрдВ, рддрд░реНрдХ рд╕реЗрдЯ рдХрд░реЗрдВ, рдФрд░ рд╢реАрд░реНрд╖ рдкрд░ рдЬрд╛рдПрдВред (рд╕реВрдХреНрд╖реНрдорддрд╛: рдирдП рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИрдВ, рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдореМрдЬреВрджрд╛ рд╕реНрдЯреИрдХ рдлреНрд░реЗрдо рдореЗрдВред рдпрд╣ рд╢рд╛рдпрдж рд╕рд┐рд░реНрдл рдПрдХ рдХреЙрдкреА рдЗрд╢реНрдпреВ рд╣реИред рдЕрдзрд┐рдХ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рддрд░реНрдХ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЪрд░-рд▓рдВрдмрд╛рдИ рддрд░реНрдХ рд╕реВрдЪрд┐рдпрд╛рдВ рдФрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рдХреЗ рд╕рд╛рде рддрд░реНрдХред рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╕рд╡рд╛рд▓ рд╣реИ)ред
рдПрдХ рдЕрдзрд┐рдХ рдЖрдХреНрд░рд╛рдордХ рд╕рдВрд╕реНрдХрд░рдг рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдХреЛ рднреА рдкрд╣рдЪрд╛рдирддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдкреВрдВрдЫ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд┐рдзрд┐ (рдЕрд░реНрдерд╛рдд рдЬрд┐рд╕реЗ рдСрдмреНрдЬреЗрдХреНрдЯ рд╕рдВрдмрдВрдзрд┐рдд рд╡рд┐рдзрд┐ рд╣реИ, рдЬрд╣рд╛рдВ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдлрд╝рдВрдХреНрд╢рди рд╡рд░реНрддрдорд╛рди рд╕реНрдЯреИрдХ рдлреНрд░реЗрдо рдХреЗ рд╕рдорд╛рди рд╣реИ)ред рдЗрд╕рдХреЗ рд▓рд┐рдП рдереЛрдбрд╝реА рдЕрдзрд┐рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред CPython рджреБрднрд╛рд╖рд┐рдпрд╛ рдХреЛрдб (ceval.c) рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╡рд┐рдзрд┐ рдХреЙрд▓ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рди рд╣реИред (рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдпрд╣ рдХрд┐рддрдирд╛ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди: рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ TRE рд╢реИрд▓реА рдЙрди рдкреНрд░реЛрдЧреНрд░рд╛рдорд░реЛрдВ рд╕реЗ рдЕрдкреАрд▓ рдХрд░реЗрдЧреА рдЬреЛ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╢реИрд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рд╕рдВрднрд╡рдд: рдХрдХреНрд╖рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред :-)
рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдЖрдк рдЙрди рд╕рднреА рдорд╛рдорд▓реЛрдВ рдХреЛ рднреА рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд╣рд╛рдВ рдкрд░ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд╛рдпрдерди рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдлрд╝рдВрдХреНрд╢рди рдпрд╛ рд╡рд┐рдзрд┐ рд╣реИ, рдФрд░ рдирдП рдХреЙрд▓ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕реНрдерд╛рдиреАрдп рдЪрд░ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд╡рд░реНрддрдорд╛рди рд╕реНрдЯреИрдХ рдлреНрд░реЗрдо рдореЗрдВ рд░рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред (рд╕реАрдкреАрдереЙрди рдореЗрдВ рдлрд╝реНрд░реЗрдо рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдвреЗрд░ рдкрд░ рд╕реНрдерд┐рдд рд╣реИрдВ рдФрд░ рд╕реНрдерд╛рдиреАрдп рдЪрд░ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдореЗрдореЛрд░реА рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдЪрд░ рдЖрдХрд╛рд░ рд╣реИ; рдпрд╣ рдлреНрд░реЗрдо рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдкреНрд░рд╢реНрди рд╣реИ)ред рдпреЗ рдХреНрд░рд┐рдпрд╛рдПрдВ рдкрд╛рд░рд╕реНрдкрд░рд┐рдХ рд░реВрдк рд╕реЗ рдкреБрдирд░рд╛рд╡рд░реНрддреА рдкреВрдВрдЫ рдкреБрдирд░реНрд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдЕрдиреБрдХреВрд▓рди рдХрд░рддреА рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЕрдиреНрдпрдерд╛ рдЕрдиреБрдХреВрд▓рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдХрд╛рд╢, рдпрд╣ рднреА рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╕реНрдЯреИрдХ рдЯреНрд░реЗрд╕рд┐рдВрдЧ рдХреЛ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХрд░ рджреЗрддрд╛, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред
рдПрдХ рдирд░рдо рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдкрд╣рд▓реЗ рдХреА рддрд░рд╣ рд╣реА рдкрд╛рдпрдерди рд╕реНрддрд░ рдкрд░ рд╕реНрдЯреИрдХ рдлреНрд░реЗрдо рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдмрдирд╛рдиреЗ рд╣реЛрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рд╕реЗ рд╕реНрдЯреИрдХ рдлреНрд░реЗрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЗрд╕рдиреЗ рд╕реНрдЯреИрдХрд▓реЗрд╕ рдкрд╛рдпрдерди рдХреА рддрд░рд╣ рдХреБрдЫ рдмрдирд╛рдпрд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕реА рдХреЙрд▓ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рддреЗ рд╣реБрдП рд╕реА рд╕реНрдЯреИрдХ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рдирд╛ рдЕрднреА рднреА рдХрд╛рдлреА рдЖрд╕рд╛рди рд╣реИред рдХрд╛рд░реНрдп рдпрд╛ рд╡рд┐рдзрд┐ред
рдмреЗрд╢рдХ, рдХреЛрдИ рднреА рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореЗрд░реЗ рддреАрди рджрд╛рд╡реЛрдВ рдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдХреНрдпрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд▓реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ?