Jor*_*mer 8 python math syntax
以下是我发现的解码数学问题的Python代码片段.到底是做什么的?我不太确定谷歌的用途.
x, y = x + 3 * y, 4 * x + 1 * y
Run Code Online (Sandbox Code Playgroud)
这是一种特殊的Python语法吗?
Amb*_*ber 16
x, y = x + 3 * y, 4 * x + 1 * y
Run Code Online (Sandbox Code Playgroud)
相当于:
x = x + 3 * y
y = 4 * x + 1 * y
Run Code Online (Sandbox Code Playgroud)
除了它在两次计算中都使用x和y的原始值 - 因为在两次计算完成之前,不会分配x和y的新值.
通用形式是:
x,y = a,b
Run Code Online (Sandbox Code Playgroud)
其中a和b是表达式,其值分别分配给x和y.您实际上可以将任何元组(逗号分隔值集)分配给任何相同大小的变量元组 - 例如,
x,y,z = a,b,c
Run Code Online (Sandbox Code Playgroud)
也会工作,但是
w,x,y,z = a,b,c
Run Code Online (Sandbox Code Playgroud)
不会因为右侧元组中的值的数量与左侧元组中的变量数量不匹配.
sth*_*sth 12
它是对元组的赋值,也称为序列解包.当你在元组周围添加括号时,可能会更清楚:
(x, y) = (x + 3 * y, 4 * x + 1 * y)
Run Code Online (Sandbox Code Playgroud)
该值x + 3 * y已分配给x,并且值4 * x + 1 * y已分配给y.
它相当于:
x_new = x + 3 * y
y_new = 4 * x + 1 * y
x = x_new
y = y_new
Run Code Online (Sandbox Code Playgroud)