Bu sorular PEP 448
-- Additional Unpacking Generalizations kaynaklanıyor ve bildiğim kadarıyla farkında (ve 2.x
için arka Taşınmamış) değilim gibi Python 3.5 bulunur atama deyiminin sağ tarafındaki vs solda operatörü. ,Yıldız *
gerçekten
elements
nedenleri*elements, = iterable
iken birlist
,elements = *iterable
olduğu birtuple
olmakelements
neden olur: Spesifik olarak, bölüm dezavantajları olarak aşağıdaki not edilir. Bunun nedeni, insanları yapıya aşina değil.iterable = [1, 2, 3, 4]
için, tutun nedir
, ilk dava verir bir list
:
>>> *elements, = iterable
>>> elements
[1, 2, 3, 4]
iken bir tuple
oluşturulur ikinci durum için:
>>> elements = *iterable,
>>> elements
(1, 2, 3, 4)
kavramı ile yabancı olmak , Kafam karıştı. Bu davranışı herkes açıklayabilir mi? Yıldızlı ifade, bulunduğu tarafa bağlı olarak farklı davranır mı?