рдкрд╛рдпрдерди рдХрд╛ рдбрд┐рд╕ рдореЙрдбреНрдпреВрд▓ рдФрд░ рд╕реНрдерд┐рд░рд╛рдВрдХ рдХрд╛ рджреГрдврд╝ рд╕рдВрдХрд▓реНрдк

рд╕рднреА рдХреЛ рдирдорд╕реНрдХрд╛рд░ред рдЖрдЬ рд╣рдо рдкрд╛рдареНрдпрдХреНрд░рдо рдХреЗ рд▓реЙрдиреНрдЪ рдХреА рдкреНрд░рддреНрдпрд╛рд╢рд╛ рдореЗрдВ рддреИрдпрд╛рд░ рдПрдХ рдФрд░ рдЕрдиреБрд╡рд╛рдж рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ "рдкрд╛рдпрдерди рдореЗрдВ рд╡реЗрдм-рдбреЗрд╡рд▓рдкрд░ ред " рдЪрд▓реЛ рдЪрд▓рддреЗ рд╣реИрдВ!



рдЬрдм рдореБрдЭреЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдореИрдВ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдмрд╣реБрдд рд╣реИрд░рд╛рди рдерд╛


>>> pow(3,89) 

рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдзреАрдореА рдЧрддрд┐ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ


 >>> 3**89 

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


 $ python3 -m timeit 'pow(3,89)' 500000 loops, best of 5: 688 nsec per loop $ python3 -m timeit '3**89' 500000 loops, best of 5: 519 nsec per loop 

рдЕрдВрддрд░ рдЫреЛрдЯрд╛ рд╣реИред рдХреЗрд╡рд▓ 0.1 ╬╝s, рд▓реЗрдХрд┐рди рдЗрд╕рдиреЗ рдореБрдЭреЗ рдкрд░реЗрд╢рд╛рди рдХрд┐рдпрд╛ред рдЕрдЧрд░ рдореИрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЗрдВ рдХреБрдЫ рднреА рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛, рддреЛ рдореИрдВ рдЕрдирд┐рджреНрд░рд╛ рд╕реЗ рдкреАрдбрд╝рд┐рдд рд╣реЛрдиреЗ рд▓рдЧрддрд╛ рд╣реВрдВ


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


рдкрд░рд┐рдХрд▓реНрдкрдирд╛ рдХреА рдкреБрд╖реНрдЯрд┐ рдХреА рдЧрдИ:


 $ python3 -m timeit 'pow(3,9999)' 5000 loops, best of 5: 58.5 usec per loop $ python3 -m timeit '3**9999' 5000 loops, best of 5: 57.3 usec per loop 

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


рдореИрдВрдиреЗ рдКрдкрд░ рдХреЗ рднрд╛рд╡реЛрдВ рдХреЗ рдмрд╛рдЗрдЯрдХреЛрдб рдХреЛ рд╡рд┐рдШрдЯрд┐рдд рдХрд░ рджрд┐рдпрд╛ рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛:


 >>> import dis >>> dis.dis('pow(3,89)') # 1 0 LOAD_NAME 0 (pow) # 2 LOAD_CONST 0 (3) # 4 LOAD_CONST 1 (89) # 6 CALL_FUNCTION 2 # 8 RETURN_VALUE >>> dis.dis('3**64') # 1 0 LOAD_CONST 0 (3433683820292512484657849089281) # 2 RETURN_VALUE >>> dis.dis('3**65') # 1 0 LOAD_CONST 0 (3) # 2 LOAD_CONST 1 (65) # 4 BINARY_POWER # 6 RETURN_VALUE 

Stackoverflow рдкрд░ рдЗрд╕ рдЙрддреНрддрд░ рдХрд╛ рд╕рдВрджрд░реНрдн рджреЗрдХрд░ рдЖрдк dis.dis рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдордЭрдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред


рдареАрдХ рд╣реИ, рдХреЛрдб рдкрд░ рд╡рд╛рдкрд╕ред рд╡рд┐рдШрдЯрд┐рдд рдкрд╛рдЙрдбрд░ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред рдмрд╛рдЗрдЯреЗрдХрдХреЛрдб рдиреЗрдорд╕реНрдкреЗрд╕ рд╕реЗ рдкреЙрд╡ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ, рд░рдЬрд┐рд╕реНрдЯрд░ 3 рдФрд░ 89 рдореЗрдВ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЕрдВрдд рдореЗрдВ рдкреЙрд╡ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЕрдЧрд▓реЗ рджреЛ рд╡рд┐рдШрдЯрди рд╕реЗ рдЙрддреНрдкрд╛рджрди рдЕрд▓рдЧ рдХреНрдпреЛрдВ рд╣реИрдВ? рдЖрдЦрд┐рд░рдХрд╛рд░, рд╣рдордиреЗ рдЬреЛ рдХреБрдЫ рднреА рдмрджрд▓рд╛ рд╣реИ, рд╡рд╣ рдШрд╛рддрд╛рдВрдХ рдХрд╛ рдорд╛рди 64 рд╕реЗ 65 рд╣реИ!


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


 def one_plue_one(): return 1+1 # --vs-- def one_plue_one(): return 2 

рдкрд╛рдпрдерди рдкрд╣рд▓реЗ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рджреВрд╕рд░реЗ рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХреЛрдб рдЪрд▓рд╛рддреЗ рд╕рдордп рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдмреБрд░рд╛ рдирд╣реАрдВ рд╣реИ, рд╣реБрд╣?


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


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


рдХреНрдпрд╛ рдЖрдкрдиреЗ рдРрд╕реА рд╣реА рдЪреАрдЬреЛрдВ рдкрд░ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рд╣реИ? рдЖрдкрдХреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рд╣реИ!

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


All Articles