我想这样做:
def ret():
return 1, 1
a, b = 1, 1
a, b += ret()
print(a, b)
>>> 2, 2
如果您想进一步集中精力,只需:
a, b = 1, 1
a, b += 1, 1
这当然会导致错误:
SyntaxError:扩展分配的非法表达式
有什么本机的方法吗?
答案 0 :(得分:1)
不,没有语法糖。 但是,您可以轻松定义一个函数来执行此操作:
import operator
def multi_update(init, update, op=operator.iadd):
return (op(x, y) for x, y in zip(init, update))
a, b = 1, 1
a, b = multi_update((a, b), (1, 1))
print(a, b)
# 2 2
答案 1 :(得分:0)