Python3:从自己调用类?

时间:2018-03-15 09:10:56

标签: python python-3.x

我考虑将其拆分为多个文件,以便我可以更轻松地管理我编写的类的各个方面。在谷歌搜索并阅读它之后,我发现基于此tutorial的这个post非常简单。简而言之,我们只是继承没有init函数的类,并且所有这些方法都以self为参数,如下所示:

设置

目录结构:

  • my_module /
    • 。的初始化的.py
    • my_class.py
    • my_class_methods /
      • 。的初始化的.py
      • _a_method.py

_a_method.py

class AMethod:
  def a_method(self):
    # do a lot of stuff

my_class.py

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)()会有效吗?

0 个答案:

没有答案