
a = 11
b = (7, 8, 9)
c = 5,
d, e = 22, 99
Jakie to typy?
a - int
Zmienna 'a' jest typu int, czyli jeden z typów danych. Int to liczby całkowitoliczbowe.
b - tupla
W drugim przypadku mamy do czynienia z tuplą trójelementową. Ten zapisy są równoważne:
b = (7, 8, 9)
b = 7, 8, 9
c - tupla
Zmienna 'c' też jest tuplą, a nie liczbą. Wszystko za sprawą przecinka, który jest za liczbą. Jest to o tyle ważne, że taki przyczajony przecinek o którym zapomnimy, może nam całkiem sporo namieszać w kodzie. Zwłaszcza, gdy kopiujemy np. fragment listy razem z przecinkiem oddzielającym elementy.
c = 5,
c2 = (5) # to już nie tupla, a integer
c3 = (5,) # to też tupla
d - int, e - int
W ostatnim przykładzie nastąpiło rozpakowanie tupli (22, 99) do tupli (d, e). Tak - (d, e) (lub po prostu 'd, e') to również dwuelementowa tupla.
Zatem poniższe zapisy są równoważne:
d, e = 22, 99
d = 22
e = 99
Mechanizm rozpakowywania tupli bardzo się przydaje, np. gdy funkcja zwraca nam dwa elementy albo chcemy rozpakować większą ilość ustawień do poszczególnych zmiennych. Innym przykładem jest zamiana zmiennych wartościami:
x = 2
y = 8
x, y = y, x
Po zamianie 'x' ma wartość 8, a 'y' wartość 2.
Znasz inne osoby, którym przyda się ta zagadka? Podziel się ze znajomymi i rozwiązujcie razem :)
0 Komentarze