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

Imported a whole module called generalPy, but can't access classes

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

我要访问的特定文件称为fractions.py。它有一个名为:fraction的类。我试图创建一个类的实例:fract = Fraction()。顺便说一句,它不接受任何参数。当我这样做时,我会得到一个错误:

1
NameError: name 'Fraction' is not defined

当类位于generalpy文件夹中并且已导入时,为什么我不能访问它?


1
from generalPy import *

这会将所有名称从generalpy直接导入模块的命名空间。一般来说不是个好主意,因为它会导致"名称空间污染"。如果您发现自己在代码中编写了这些代码,那么最好只使用:

1
import generalPy

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