Max Asked:2023-07-20 18:22:53 +0000 UTC2023-07-20 18:22:53 +0000 UTC 2023-07-20 18:22:53 +0000 UTC 从数学库中导入同名函数时,内置函数pow()会消失吗? 772 如果我math.pow()使用代码导入, from math import pow 那么我将无法再访问内置函数pow()? python 3 个回答 Voted Best Answer Chorkov 2023-07-20T18:39:43Z2023-07-20T18:39:43Z 是的,导入时from math import pow标准函数将被覆盖。这就是为什么不应过度使用全局命名空间导入的原因。 如果你不能,但真的很想: >>> old_pow=pow >>> from math import pow >>> print( old_pow(10, 2, 3) ) 1 或者 >>> from math import pow ... >>> from builtins import pow as old_pow >>> print( old_pow(10, 2, 3) ) 1 CameL 2023-07-20T18:29:12Z2023-07-20T18:29:12Z 可以,这些是不同的功能。要验证这一点,您可以向其传递三个参数 print(pow(10, 2, 3)) 结果:1 import math print(math.pow(10, 2, 3)) 结果:TypeError: pow expected 2 arguments, got 3 有了这样的函数导入:from math import pow它将被重新定义 print(pow.__doc__) 结果:Return x**y (x to the power of y) Acinit 2023-07-20T18:40:37Z2023-07-20T18:40:37Z 我从@andreymal 的评论中发现了一件有趣的事情。您可以使用pow内置 python 模块和math from math import pow from builtins import pow as pow2 print(pow2(10,2,3)) print(pow(10,2,3)) 控制台输出 1 然后就报错了 Exception has occurred: TypeError pow expected 2 arguments, got 3
是的,导入时
from math import pow标准函数将被覆盖。这就是为什么不应过度使用全局命名空间导入的原因。如果你不能,但真的很想:
或者
可以,这些是不同的功能。要验证这一点,您可以向其传递三个参数
结果:
1结果:
TypeError: pow expected 2 arguments, got 3有了这样的函数导入:
from math import pow它将被重新定义结果:
Return x**y (x to the power of y)我从@andreymal 的评论中发现了一件有趣的事情。您可以使用
pow内置 python 模块和math控制台输出
然后就报错了