gpt4 book ai didi

python - Python中为多个变量添加多个返回值

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

<分区>

分配

我是 Python 的新手,但我已经了解到使用所谓的元组可以分配和返回多个值。

一次分配多个值

> a, b = 1, 2
> a
1
> b
2

返回多个值

> def f():
> return 3, 4
>
> f()
(3, 4)

两者结合也有效

> c, d = f()
> c
3
> d
4

添加

要隐式地将返回值添加到变量,可以使用重载运算符 += (iadd)。

添加运算符+=(分别称为iadd)

> e = 5
> e += 5
> e
10

也适用于函数

> def g():
> return 10
>
> e += g()
> e
20

问题

我是对的,上面提到的行为不能一起使用吗?我尝试了以下代码片段,但它对我不起作用。

> x, y = 1, 2
> x, y += 3, 4
SyntaxError: illegal expression for augmented assignment

> def z():
> return 10, 100
> x, y += z()
SyntaxError: illegal expression for augmented assignment

到目前为止,Python 非常直观。这就是为什么我认为方法会开箱即用。

为什么 += 运算符没有为元组重载?保持 Python 尽可能简单不是很有意义吗?

我发现了两种解决这个“问题”的方法(使用上面的 xyz()):

> import operator
> t = x, y
> tuple(map(operator.add, t, z()))

或者为了保持简单(使用上面的 xyz()):

> x1, y1 = z()
> x += x1
> y += y1

除了我提到的方法之外,还有更好甚至更直观的方法吗?

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