我有一个带有可选参数的类定义。 我想用实例变量的值启动可选参数。 这可能吗?
示例:
class Helloworld:
def __init__(self):
self.var1 = 'abc'
self.var2 = 123
def printString(info, message=self.var1):
print(info + ' - ' + message)
在此示例中,我想启动 printString
的 message
参数,与实例变量 var1
相同
最佳答案
没有。这是不可能的。
在定义 printString
时,还没有实例(即 self
未定义)。
相反,使用 None
作为默认值并在必要时进行分配:
class Helloworld:
def __init__ (self):
self.var1 = 'abc'
self.var2 = 123
def printString (self, info, message=None):
if message is None:
message = self.var1
print(info + ' - ' + message)
另请注意,您没有将 self
传递给 printString
,因此 info
将不会包含您可能期望的内容。
关于python - 初始化类定义的可选变量,其默认值与实例变量相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44780630/