gpt4 book ai didi

Python:为什么不能使用 self.variable 作为方法中的可选参数?

转载 作者:行者123 更新时间:2023-12-01 00:51:28 24 4
gpt4 key购买 nike

我创建了一个类,我想将 self.variable 传递到方法中的可选参数中。原因是因为我想将信息存储在其他方法中创建的 Self.variable 中,但是,如果我使用该方法,我希望必须选择使用我自己的手动信息覆盖 self.variable。

可悲的是,这是不允许的,因此我想知道为什么不可以!?另外,我想知道是否有人知道实现相同目标的 Pythonic 方法?

这是我尝试过的示例:

# example:

class Example(Object)

def __init__(self):
self.variable = []

def fill_variable(self):
self.variable = [random.randint(1,10)] * 10

def use_variable(self, random_numbers = self.variable)
print(random)

test.Example()
test.fill_variable()
test.use_variable()

# or
test.use_variable(random_numbers=[1,2,3,4,5,6,7,8,9,10])

我的期望是 test.use_variable() 会打印 10 随机数test.use_variable(random_numbers=[1,2,3,4,5,6,7,8,9,10])打印(1,2,3,4,5,6,7,8,9,10)

感谢您的帮助和解释!

最佳答案

不幸的是,这是不可能的,您可以使用 if 语句检查它是否是相同的值(None),如果是,则将其分配给 self。变量:

def use_variable(self, random_numbers = None):
if random_numbers == None:
random_numbers = self.variable
print(random_numbers)

关于Python:为什么不能使用 self.variable 作为方法中的可选参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56535948/

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