Множественное присвоение переменной в одной строке (Python 3)

#python-3.x

#python-3.x

Вопрос:

как работает этот скрипт и почему переменная b получает 50 в качестве своего значения, а не 1

 a = 1
b = 50
b, b = a, b
print(b)
  

фактический результат: 50

Комментарии:

1. Потому что правая часть полностью оценивается перед присвоением. Вы можете думать об этом как о создании кортежа (a, b) == (1, 50) в первую очередь

Ответ №1:

b, b = a, b на самом деле это присвоение кортежа, и оно работает слева направо.

b, b = a, b вычисляет, к (b, b) = (1, 50) которому, в свою очередь, выполняется как

 b = 1
b = 50