“从数学导入sqrt”工作,但“导入数学”不起作用。是什么原因?

时间:2015-06-04 14:29:12

标签: python module komodo

我在编程方面很新,只是学习python。

我正在使用Komodo Edit 9.0来编写代码。所以,当我写“从数学导入sqrt”时,我可以毫无问题地使用“sqrt”函数。但是,如果我只写“导入数学”,那么该模块的“sqrt”功能不起作用。这背后的原因是什么?我能以某种方式解决它吗?

4 个答案:

答案 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