【发布时间】:2018-11-05 08:38:11
【问题描述】:
是否可以(保留所有类功能)在单独的文件中编写类函数?
下面是一个例子:
TestClass.py:
class MyClass():
def __init__(self, param1=1, param2=2, param3=3):
self.param1, self.param2, self.param3 =param1, param2, param3,
def ClassFun1(self, param1=2):
return param1**2/self.param2
TestClass2.py:
def ClassFun2(self, param1=3):
return param1*3/self.param2
接下来,在this answer之后,我编译两个文件(我懒得用import),创建一个类变量并尝试使用ClassFun2:
x=MyClass()
x.myMethod=ClassFun2
x.myMethod(2)
因此,我收到一个错误,因为 ClassFun2 中的 self 被视为参数,而不是类本身:
AttributeError: 'int' object has no attribute 'param2'
是否可以将类定义拆分为多个源文件?这在 C++ 中是可能的,这在团队合作时实际上非常方便。
【问题讨论】:
-
@RomanKonoval 这是他链接的问题,所以他显然不明白。