Python Değişkenlerini optimize etmek için virgül
Sep 09 2020
Python kodunun nasıl biçimlendirilebileceğine dair bir sorum vardı.
(q, a), b = divmod(b, a), a
y0, y1 = y1, y0 - q * y1
Yukarıdaki gibi bir şey için, değişkenleri göstermek için virgül nasıl çalışır? Birisi, y0 ve y1 arasında virgül veya (q, a) kullanılmadan bu kodun nasıl görüneceğini gösterebilir mi? Kodu optimize etmenin bir çeşit yolu olduğunu biliyorum.
Yanıtlar
1 YannickFunk Sep 09 2020 at 21:29
Atamalardaki virgüller sağ tarafta demet oluşturmak ve sol tarafta ambalajı açmak için kullanılır , örneğin:
x, y = 1, 3
İşlevsel olarak eşdeğer olan
x = 1
y = 3
Veya örneğin paket açma listesi , örneğin:
example_list = [1, 4, 5]
x, y, z = example_list
İşlevsel olarak eşdeğer olan:
x = example_list[0]
y = example_list[1]
z = example_list[2]
Yani "virgül" içermeyen kodunuz şöyle olacaktır:
(q, a) = divmod(b, a) # unpacking
b = a
old_y0 = y0
y0 = y1
y1 = old_y0 - q * y1
Bunun nedeni çoğunlukla conveniencekodun optimizasyonu değil.
Gene Simmons, KISS Çizgi Romanlarının Potansiyel Olarak "İnsanlığı Yeniden Yaratabileceğini" Söyledi
Tom Girardi Dolandırıcılık Suçlamalarından Yargılanma Yetkisinin Belirlenmesi İçin Duruşmaya Katıldı
Kevin Jonas'ın Kızı Alena, Doğum Günü Fotoğrafında Büyümüş Görünüyor: '9 Yaşında Gerçek Hissetmiyor'