Как доказать, что оценка параметров «слева направо» в 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 или это невозможно, поскольку это эталонный язык передачи по значению?

Я сделал простую программу, но не думаю, что это что-то доказывает:

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) или как то так).

Ответы на вопрос(6)

Ваш ответ на вопрос