如何将类的方法分离到单独的文件中?

She*_*ati 1 python module class

假设我们有这样的课程:

Class example:
       def __init__(self):
             self.var = 23
Run Code Online (Sandbox Code Playgroud)

如何通过将其导入到主文件中来在另一个文件的函数中访问此变量?

def my_func():
       pass
Run Code Online (Sandbox Code Playgroud)

事实上,我希望“my_func()”成为“example”类的方法,但位于单独的文件中。

小智 5

这个想法是将你的类分成两个类,它们没有自己的数据\xe2\x80\x94only方法\xe2\x80\x94所以虽然你继承了它们,但你永远不必对它们调用super()。这个类称为“mixins”

\n

_example.py

\n
class Mixin:\n\n    def my_func(self):\n        print(self._b)\n
Run Code Online (Sandbox Code Playgroud)\n

示例.py

\n
import _example\n\nclass Example(_example.Mixin):\n\n    def __init__(self):\n        self._a = 1\n        self._b = 2\n        self._c = 3\n
Run Code Online (Sandbox Code Playgroud)\n

现在你可以这样做:

\n
ex = Example()\nex.my_func() # This will print "2" on console.\n
Run Code Online (Sandbox Code Playgroud)\n

您可以在这里检查不同的方法

\n