Search on blog:

Tupla inaczej krotka w Pythonie

To jest „przedruk” mojej wypowiedzi na polskim forum Pythona http://pl.python.org/forum/index.php?topic=4366.msg18707#msg18707

--

Pytanie:

    co oznacza '(0,0)' w nawiasach wewnetrznych?

To jest typ danych zwany "krotka" lub z angielskiego "tupla". Typ ten po zdefiniowaniu jest niezmienny (ang. immutable). Można z niego pobrać dane ale nie można zmienić jego zawartości - zmienić wartości na inną, usunąć jakiś element lub dodać kolejny. Stosuje się ją tam gdzie chce się mieć pewność, że dana nie zostanie zmodyfikowana.

# tupla/krotka

punkt = (0,0)

x  = punkt[0]
y  = punkt[1]

punkt[0] = 10 # error
punkt.append(3) # error
del punkt[0] # error

# lista

punkt = [0,0]

x  = punkt[0]
y  = punkt[1]

punkt[0] = 10 # OK
punkt.append(3) # OK
del punkt[0] # OK

Naturalną rzeczą jest aby punkt (w 2D) był parą licz x,y przekazywaną do funkcji jako jedna wartość. Podobnie bywa z innymi danymi - wymiary = (szerokość, wysokosc), kolor = (r,g,b), polozenie_geograficzne = (szerokosc, dlugosc).

Podobno tupla jest szybsza od listy - o ile trzeba ją tylko stworzyć i przekazać dalej a nie zmienniać jej zawartości.

If you like it
Buy a Coffee