Vírgulas para otimizar variáveis Python
Sep 09 2020
Eu tinha uma pergunta sobre como o código python pode ser formatado.
(q, a), b = divmod(b, a), a
y0, y1 = y1, y0 - q * y1
Para algo como acima, como funcionam as vírgulas para demonstrar as variáveis? Alguém pode mostrar como esse código ficaria sem o uso de vírgulas entre y0 e y1, ou o (q, a)? Eu sei que deve ser uma forma de otimizar o código.
Respostas
1 YannickFunk Sep 09 2020 at 21:29
As vírgulas nas atribuições são usadas para a criação da tupla no lado direito e desempacotamento no lado esquerdo , por exemplo:
x, y = 1, 3
O que é funcionalmente equivalente a
x = 1
y = 3
Ou, por exemplo , descompactar lista , por exemplo:
example_list = [1, 4, 5]
x, y, z = example_list
O que é funcionalmente equivalente a:
x = example_list[0]
y = example_list[1]
z = example_list[2]
Portanto, seu código sem "vírgulas" seria:
(q, a) = divmod(b, a) # unpacking
b = a
old_y0 = y0
y0 = y1
y1 = old_y0 - q * y1
A razão para isso é principalmente, conveniencee não a otimização do código.
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?
George Harrison ficou chateado por suas letras de 'Hurdy Gurdy Man' de Donovan não terem sido usadas