每当我尝试使用任何的Python的幂和对数模块的内置功能,我得到这样一个错误:Python的数学模块
NameError: name 'sqrt' is not defined
我一直在使用math.sqrt(4)
,sqrt(4)
和sqrt(4.0)
尝试,但他们都没有工作。例外情况是pow
,它的工作原理如此。这真的很奇怪,我不确定有什么问题。
每当我尝试使用任何的Python的幂和对数模块的内置功能,我得到这样一个错误:Python的数学模块
NameError: name 'sqrt' is not defined
我一直在使用math.sqrt(4)
,sqrt(4)
和sqrt(4.0)
尝试,但他们都没有工作。例外情况是pow
,它的工作原理如此。这真的很奇怪,我不确定有什么问题。
pow
内置于语言(的数学库不一部分)。问题是你没有导入数学。
试试这个:
import math
math.sqrt(4)
你需要说math.sqrt
当您使用它。或者,做from math import sqrt
。
嗯,我刚刚看了你的问题更彻底....你是如何导入math
?我只是想import math
然后math.sqrt
其完美。你在做什么像import math as m
?如果是这样,那么你有m
(或任何名字,你as
后使用)前缀的功能。
pow
正在工作,因为有两个版本:__builtin__
中的始终可用版本和math
中的另一个版本。
地址:
import math
的开始。然后用:
math.sqrt(num) # or any other function you seem neccessary
您也可以导入作为
from math import *
然后你可以使用任何数学函数没有前缀的数学。例如
sqrt(4)
在
从数学进口开方
使用的sqrt(4)工作得很好。只需使用“导入数学”时,只需使用math.sqrt(4)。
如果函数不是内置的,你必须导入它包含在该模块。参见[Python库(http://docs.python.org/library/),以及内置的[列表-INS](http://docs.python.org/library/functions.html)。 – 2012-01-09 02:22:23