Python class 中 varB = self(varA) 的目的是什么?
What is the purpose of varB = self(varA) in a Python class?
我正在调试 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 行)
- 首先,您需要提供一个MRE。比如当你定义了一个class的时候,不要在class
之前使用def
- 我尝试将您代码中的错误修复为 MRE
def someOtherFunction(x):
return x+1
class baseX:
pass
class baseY:
pass
class newBase (baseX, baseY):
def __init__ (self, someARGS):
self.varA = someARGS
def __call__(self,x):
return x + 5
def func (self, varX, varA):
varX = someOtherFunction(varX)
varB = self(varA)
return varB
x = newBase(5)
print(x.func(0,10))
#result : 15
- 在这段代码中,
self(varA)
表示调用newBase
作为一个可调用对象,普通的class是不可调用的。
我正在调试 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 行)
- 首先,您需要提供一个MRE。比如当你定义了一个class的时候,不要在class 之前使用
- 我尝试将您代码中的错误修复为 MRE
def
def someOtherFunction(x):
return x+1
class baseX:
pass
class baseY:
pass
class newBase (baseX, baseY):
def __init__ (self, someARGS):
self.varA = someARGS
def __call__(self,x):
return x + 5
def func (self, varX, varA):
varX = someOtherFunction(varX)
varB = self(varA)
return varB
x = newBase(5)
print(x.func(0,10))
#result : 15
- 在这段代码中,
self(varA)
表示调用newBase
作为一个可调用对象,普通的class是不可调用的。