我在编程方面很新,只是学习python。
我正在使用Komodo Edit 9.0来编写代码。所以,当我写“从数学导入sqrt”时,我可以毫无问题地使用“sqrt”函数。但是,如果我只写“导入数学”,那么该模块的“sqrt”功能不起作用。这背后的原因是什么?我能以某种方式解决它吗?
答案 0 :(得分:8)
您有两种选择:
import math
math.sqrt()
会将math
模块导入其自己的命名空间。这意味着函数名称必须以math
为前缀。这是一种很好的做法,因为它可以避免冲突,并且不会覆盖已导入当前命名空间的函数。
可替换地:
from math import *
sqrt()
会将math
模块中的所有内容导入当前命名空间。 That can be problematic
答案 1 :(得分:3)
如果您只import math
拨打sqrt
功能,则需要执行以下操作:
In [1]: import math
In [2]: x = 2
In [3]: math.sqrt(x)
Out[3]: 1.4142135623730951
这是因为from math import sqrt
为您提供了sqrt
功能,但import math
只为您提供了模块。
答案 2 :(得分:2)
当您仅使用import math
时,sqrt
功能会以不同的名称出现:math.sqrt
。
答案 3 :(得分:0)
如果你需要一个平方根,你也可以用0.5来取幂数。
144 ** 0.5
给出了结果:
12.0