【发布时间】:2020-08-09 04:31:48
【问题描述】:
假设我们有这个类:
Class example:
def __init__(self):
self.var = 23
如何通过在主文件中导入另一个文件中的函数来访问该变量?
def my_func():
pass
事实上,我希望“my_func()”成为“示例”类的一个方法,但在一个单独的文件中。
【问题讨论】:
-
没有正常的方法可以做到这一点。您不应该能够将方法声明为类的一部分,在该类之外。
-
所以你的意思是没有办法划分一个类来分隔文件?
-
您可以为整个模块使用
__init__,然后将内容导入其中以确保您的所有方法都是同一个模块的一部分,但是不,我不知道如何划分将单个 class 分成两个单独的文件。据我所知,这在大多数面向对象的编程语言中都是一样的。为什么要这样做? -
我的课程由非常大的方法组成,我想将这些方法分开来分开文件,以便我的主文件更干净。
-
这是非常可行的,但通常不鼓励,因为它打破了其他开发人员的假设。如果您的方法太大以至于需要单独的文件,那么它们和扩展类肯定会同时做太多事情。考虑改进您的应用程序设计(SOLID 似乎适用),而不是现有设计的布局。