我是Python的新手,我试图弄清楚如何最好地组织我的代码。我打算在自己的文件中添加一些类,并且我想引用这些类而不必指定文件名。例如,假设我有一个这样的结构:
my_project/
└── module1/
├── A.py
└── B.py
A.py
class A:
def foo(self):
raise NotImplementedError
B.py
class B:
def foo(self):
raise NotImplementedError
现在让我们说我想在A
中引用类B.py
。如何使B.py
看起来像这样:
import A
class B:
def foo(self):
return A()
不是这样的:
from a import A
class B:
def foo(self):
return A()
基本上,我想将类分组为一个名称空间,而不必将我所有的类都放入一个文件中。
答案 0 :(得分:1)
首先,您需要更正类的语法,您的类应该是
class A:
def foo(self):
raise NotImplementedError
和
from a import A
class B:
def foo(self):
return A()
现在您需要执行from a import A
而不是import A
的原因是因为A是一个驻留在python文件.py中的类,并且您需要告诉解释器类A的定义位置,否则解释器不知道在哪里找到A