Как доказать, что оценка параметров «слева направо» в Python?
Например, в JavaScript мы могли бы написать такую программу:
var a = 1;
testFunction(++a, ++a, a);
function testFunction(x, y, z){
document.writeln("<br>x = " + x);
document.writeln("<br>y = " + y);
document.writeln("<br>z = " + z);
}
и мы получили бы вывод:
x = 2
y = 3
z = 3
Это означает, что параметры действительно оцениваются слева направо в JavaScript. В C мы получили бы вывод
x = 3
y = 3
z = 3
Мне было интересно, можем ли мы сделать то же самое в Python или это невозможно, так какs справочный язык по значению? I '
мы сделали простую программу, но я неНе думаю, что это доказывает
x = 2
def f(x, y, z):
print(x, y, z)
f(x*2, x*2, x**2)
print(x)
4 4 4
2
Python победилПозвольте мне сделать любое новое назначение в параметре функции, когда я вызываю его (например,f(x=4, x, x)
или как то так).