Запятые для оптимизации переменных Python
Sep 09 2020
У меня возник вопрос, как можно отформатировать код Python.
(q, a), b = divmod(b, a), a
y0, y1 = y1, y0 - q * y1
Для чего-то вроде выше, как работают запятые для демонстрации переменных? Может ли кто-нибудь показать, как этот код будет выглядеть без использования запятых между y0 и y1 или (q, a)? Я знаю, что это должен быть какой-то способ оптимизации кода.
Ответы
1 YannickFunk Sep 09 2020 at 21:29
Запятые в присваиваниях используются для создания кортежей с правой стороны и распаковки с левой стороны , например:
x, y = 1, 3
Что функционально эквивалентно
x = 1
y = 3
Или например распаковка списка , например:
example_list = [1, 4, 5]
x, y, z = example_list
Что функционально эквивалентно:
x = example_list[0]
y = example_list[1]
z = example_list[2]
Итак, ваш код без "запятых" будет:
(q, a) = divmod(b, a) # unpacking
b = a
old_y0 = y0
y0 = y1
y1 = old_y0 - q * y1
Причина этого в основном, convenienceа не в оптимизации кода.