Какова эта часть кода Python, делающего?

Я должен был сделать, Кв. - получает ядро менеджера обновления чистки и ядро менеджера обновления установки, прежде чем-обновление-версии распознало бы любые новые выпуски для 11,10.

8
задан Jordan Parmer 2 September 2009 в 12:03
поделиться

3 ответа

x, y = x + 3 * y, 4 * x + 1 * y

эквивалентно:

x = x + 3 * y
y = 4 * x + 1 * y

ИСКЛЮЧАЯ , что он использует исходные значения для x и y в обоих вычислениях - потому что новые значения для x и ты не t назначается до тех пор, пока оба вычисления не будут завершены.

Общая форма:

x,y = a,b

где a и b - выражения, значения которых присваиваются x и y соответственно. Фактически вы можете назначить любой кортеж (набор значений, разделенных запятыми) любому кортежу переменных того же размера - например,

x,y,z = a,b,c

также будет работать, но

w,x,y,z = a,b,c

не будет, потому что количество значений в правой части кортеж не соответствует количеству переменных в левом кортеже.

16
ответ дан 3 November 2019 в 14:03
поделиться

Это присвоение кортежу , также называемое распаковкой последовательности . Вероятно, это станет понятнее, если вы добавите скобки вокруг кортежей:

(x, y) = (x + 3 * y, 4 * x + 1 * y)

Значение 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
12
ответ дан 3 November 2019 в 14:03
поделиться

Я также недавно видел, как это называется «одновременное задание», что, кажется, отражает дух нескольких ответов.

0
ответ дан 3 November 2019 в 14:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: