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.
Buy a Coffee