2.4.1.8 Операторы быстрого доступа
Пришло время следующего набора операторов, облегчающих жизнь разработчику.
Очень часто мы хотим использовать одну и ту же переменную как справа, так и слева от оператора =
Например, если нам нужно вычислить серию последовательных значений степеней двойки, мы можем использовать такую часть:
x = x * 2
Вы можете использовать подобное выражение, если не можете заснуть и пытаетесь справиться с этим, используя несколько хороших старомодных методов:
sheep = sheep + 1
Python предлагает вам сокращенный способ написания подобных операций, который можно закодировать следующим образом:
x *= 2
sheep += 1
Попробуем дать общее описание этих операций.
Если op является оператором с двумя аргументами (это очень важное условие) и этот оператор используется в следующем контексте:
variable = variable op expression
Его можно упростить и изобразить следующим образом:
variable op= expression
Взгляните на приведенные ниже примеры. Убедитесь, что вы понимаете их все.
i = i + 2 * j ⇒ i += 2 * j
var = var / 2 ⇒ var /= 2
rem = rem % 10 ⇒ rem %= 10
j = j - (i + var + rem) ⇒ j -= (i + var + rem)
x = x ** 2 ⇒ x **= 2
Очень часто мы хотим использовать одну и ту же переменную как справа, так и слева от оператора =
Например, если нам нужно вычислить серию последовательных значений степеней двойки, мы можем использовать такую часть:
x = x * 2
Вы можете использовать подобное выражение, если не можете заснуть и пытаетесь справиться с этим, используя несколько хороших старомодных методов:
sheep = sheep + 1
Python предлагает вам сокращенный способ написания подобных операций, который можно закодировать следующим образом:
x *= 2
sheep += 1
Попробуем дать общее описание этих операций.
Если op является оператором с двумя аргументами (это очень важное условие) и этот оператор используется в следующем контексте:
variable = variable op expression
Его можно упростить и изобразить следующим образом:
variable op= expression
Взгляните на приведенные ниже примеры. Убедитесь, что вы понимаете их все.
i = i + 2 * j ⇒ i += 2 * j
var = var / 2 ⇒ var /= 2
rem = rem % 10 ⇒ rem %= 10
j = j - (i + var + rem) ⇒ j -= (i + var + rem)
x = x ** 2 ⇒ x **= 2