Как работает input() в python?
Добрый день! Предыстория: Изучал java и наткнулся на интересный момент, что можно задать значение элемента массива при помощи следующей команды
array[i] = console.nextInt();
Решил проверить в Python и там тоже всё работает, но неожиданно выявилась интересная особенность: ввод нового элемента массива идёт перед вводом места этого самого массива.
Код выглядит так:
m = [1,2,3,4,5]
m[int(input("place "))] = int(input("Value "))
print(m)
Вопрос: почему так происходит и как работает input() в Python?
Ответы (1 шт):
Дело не в input(), а в порядке вычисления выражений в питоне:
Python evaluates expressions from left to right. Notice that while evaluating an assignment, the right-hand side is evaluated before the left-hand side.
Таким образом, input("Value ") выполняется сначала, а потом уже input("place ").
Благодаря этому, например, можно обменять значения переменных через
a,b = b,a
Сначала правая часть создает set(b, a), потом выполняется присваивание.
