2012-03-07 16 views

Odpowiedz

24
>>> a, b, c = [1, 2, 3] 
>>> print a, b, c 
1 2 3 

lub bezpośrednie przełożenie sprawy:

>>> myIndexArray = [1, 2, 3] 
>>> first, second, third = myIndexArray 
>>> print "First: %d, Second: %d" % (first, second) 
First: 1, Second: 2 

Python realizuje tę funkcję poprzez wywołanie metody __iter__ na prawym boku wyrażenie i przypisanie każdej pozycji do zmiennych po lewej stronie. Dzięki temu możesz zdefiniować sposób rozpakowywania niestandardowego obiektu do zadania wielozmiennego:

>>> class MyClass(object): 
... def __iter__(self): 
...  return iter([1, 2, 3]) 
... 
>>> a, b, c = MyClass() 
>>> print a, b, c 
1 2 3 
+0

Słodki. To o wiele więcej informacji, niż potrzebowałem, a to jest niesamowite! – Drew