gpt4 book ai didi

python - Python 可以实例化一个变量并同时返回它的值或引用吗?

转载 作者:行者123 更新时间:2023-12-03 23:59:08 25 4
gpt4 key购买 nike

Python 能否实例化一个变量并同时返回其值或引用?

像这样工作的东西

fruits = list()
fruits.append(apple = Fruit()) # (apple = Fruit()) <= Would return a reference/value
fruits.append(orange = Fruit())

apple.do_something()
fruits[1].do_something()

显然,您可以使用 fruits[n] 访问对象,但 Python 可以做到这一点吗?为什么?

最佳答案

从 3.8 开始,是的,使用 the "walrus operator", := (官方称为“赋值表达式”):

fruits = list()
fruits.append(apple := Fruit())
fruits.append(orange := Fruit())

apple.do_something()
fruits[1].do_something()

:= 允许将赋值作为表达式而不是语句,并且表达式的计算结果为所分配的内容。

在 3.8 之前这是不可能的;你必须把它分开。对现有代码的最简单的修改是这样的:

fruits = list()
fruits.append(Fruit())
fruits.append(Fruit())
apple, orange = fruits # Unpacks list to multiple names all at once

或存储到名称并构建列表:

apple = Fruit()
orange = Fruit()
fruits = [apple, orange]

关于python - Python 可以实例化一个变量并同时返回它的值或引用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64772330/

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