gpt4 book ai didi

python - 初始化类定义的可选变量,其默认值与实例变量相同

转载 作者:太空宇宙 更新时间:2023-11-03 15:04:29 26 4
gpt4 key购买 nike

我有一个带有可选参数的类定义。我想用实例变量的值启动可选参数。这可能吗?

示例:

class Helloworld:
def __init__(self):
self.var1 = 'abc'
self.var2 = 123

def printString(info, message=self.var1):
print(info + ' - ' + message)

在此示例中,我想启动 printStringmessage 参数,与实例变量 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com