导入了一个名为generalPy的整个模块,但无法访问类

时间:2017-10-25 14:44:52

标签: python import

我有一个名为 generalPy 的模块,我想访问该文件夹中的python文件。所以我导入它:from generalPy import *

我想访问的特定部分称为fractions.py。它有一个名为 Fraction 的类。我尝试创建类的实例:fract = Fraction()。 顺便说一下,它不需要任何参数。当我这样做时,我收到一个错误:

NameError: name 'Fraction' is not defined

为什么我不能在generalPy文件夹中访问该类,并且已导入该类?

1 个答案:

答案 0 :(得分:1)

from generalPy import *

这会将generalPy中的所有名称直接导入到模块的名称空间中。通常不是一个好主意,因为它会导致“命名空间污染”。如果您发现自己在代码中写了这些内容,那么只使用以下内容可能会更好:

import generalPy

来源和进一步阅读:https://bytebaker.com/2008/07/30/python-namespaces/