【发布时间】:2021-11-12 06:43:20
【问题描述】:
我正在调试 Python 代码并在其中一个类中看到此代码模式:
def someOtherFunction (x):
return x**2
class baseX():
pass
class baseY():
pass
class newBase (baseX, baseY):
def __init__ (self, **kwargs):
super().__init__(**kwargs)
def func (self, varX):
varA = someOtherFunction(varA)
varB = self(varA)
return varB
我很难理解self() 语法。 varB = self(varA) 是什么?它在做什么?
原始代码不是我的代码。原始代码应该可以工作。我写的伪代码是为了更好地代表我的问题。请参阅the original code on Github(第 101 行)
【问题讨论】:
-
def class newBase应该抛出一个SyntaxError。 -
DoingSomething ==>
NameError... 停止伪编码并添加minimal reproducible example。 -
另外,
self(varA)肯定会引发错误,因为 (1)varA未定义并且 (2) 类实例不是可调用的。 -
@Ch3steR,抱歉打错了