我考虑将其拆分为多个文件,以便我可以更轻松地管理我编写的类的各个方面。在谷歌搜索并阅读它之后,我发现基于此tutorial的这个post非常简单。简而言之,我们只是继承没有init
函数的类,并且所有这些方法都以self
为参数,如下所示:
目录结构:
class AMethod:
def a_method(self):
# do a lot of stuff
from .my_class_methods._a_method import AMethod
class MyClass(AMethod):
def __init__(self):
# etc
这对我很有用,我喜欢它。如果你是一个更有经验的python程序员(因为我只是普通用户)并且你知道更好的方法,请告诉我。
我的问题源于方法a_method(self)
(来自my_module/my_class_methods/_a_method.py
)需要继承它的类,例如:
### _a_method.py
class AMethod:
def a_method(self):
# do stuff
MyClass() # needs instance of MyClass
# do more stuff
从NameError: NameError: name 'MyClass' is not defined
调用方法a_method
时,此设置目前会抛出MyClass
(例如MyClass().a_method()
)
我该如何解决这个问题? type(self)()
会有效吗?