我正在使用Python2.5.4并尝试使用十进制模块。当我在翻译中使用它时,我没有问题。例如,它可以工作:
>>> from decimal import *
>>> Decimal('1.2')+ Decimal('2.3')
Decimal("3.5")
但是,当我输入以下代码时:
from decimal import *
print Decimal('1.2')+Decimal('2.3')
在一个单独的文件(称为decimal.py)中作为模块运行,解释器会抱怨:
NameError: name 'Decimal' is not defined
我还尝试将此代码放在单独的文件中:
import decimal
print decimal.Decimal('1.2')+decimal.Decimal('2.3')
当我把它作为一个模块运行时,解释器会说:
AttributeError: 'module' object has no attribute 'Decimal'
怎么了?
这和我在Python2.5.2上的工作一样好
我鼓励你从小数点开始指定你想用什么
在你的另一个例子中,你应该使用
您将脚本命名为decimal.py,因为脚本所在的目录是查找模块的路径中的第一个,找到并导入脚本。您的模块中没有任何名为Decimal的内容,这会导致引发此异常。
要解决这个问题,只需重命名脚本,只要您只是在foo.py、bar.py、baz.py、spam.py或eggs.py之类的地方玩,就可以很好地选择一个名称。
相关问题 更多 >
编程相关推荐