Dátové typy

Porovnanie :: PHP | Perl

Dátové typy sú tuple a polia. Tuple su nemenné, prvky polí sa meniť dajú. K týmto dátovým typom máme prístup pomocou indexov.

V Pythone nemusíme pristupovať k jednotlivým prvkom len jednotlivo, ale ide to aj hromadne prostredníctvom slice notácie, teda zápisom dvoch čísel oddelených dvojbodkou, pričom prvé číslo hovorí, ktorým prvkom zoznamu sa má začať a to druhé, ktorým skončiť. Číslovanie sa bez zadania štartu začína od nuly a je možné používať aj záporné indexy:

Polia

Pole vytvoríme priradením hodnôt v hranatých zátvorkách nejakej premennej. S jednotlivými prvkami poľa sa dá manipulovať, teda meniť ich a pridávať nové prvky. Použitím slice notácie sa dajú prvky meniť hromadne. Ak priraďujeme menej hodnôt ako je prvkov, na ktoré ukazujeme, budú prebytočné prvky zrušené.

Príklad:

>>> pole=[1,2,3,4,5,6,7,8,9] # vytvorenie poľa, ktoré obsahuje prvky 1 až 9
>>> pole[:5]=[10,20] # prvky 1 až 5 zmiznú
>>> pole # výpis daného poľa
[10, 20, 6, 7, 8, 9]

>>> pole[2:]=[30,40,50] # prvky 6 až 9 zmiznú
>>> pole # výpis daného poľa
[10, 20, 30, 40, 50]

Vnorené polia v Pythone sú ekvivalentom pre C-čkovské viacrozmerné polia.

Príklad:

>>> elop=['python', 'je', 'jazyk'] # vytvorenie poľa
>>> elop[2]=['programovaci', 'jazyk'] # vnorenie ďalšieho poľa
>>> elop
['python', 'je', ['programovaci', 'jazyk']]
>>> elop[2][1] # prístup pomocou dvojitého indexovania
'jazyk'

Python umožňuje aj extrahovanie prvkov poľa do jednotlivých premenných, čiže List unpacking.

Príklad:

>>> [c1, c2, c3] = elop
>>> c1
'python'
>>> c2
'je'
>>> c3
['programovaci', 'jazyk']

Metódy a funkcie pre prácu s poľami:

a.append(x) - na koniec poľa a pripojí hodnotu x
a.extend(P) - na koniec poľa a pripojí pole P
a.insert(i, x) - na pozíciu (index) v poli a, danú argumentom i, priradí hodnotu x
a.remove(x) - prepíše prvý prvok poľa a s hodnotou x
a.pop([i]) - zmaže a vráti prvok poľa a z pozície i; pri nezadaní argumentu, zmaže a vráti posledný prvok poľa
a.index(x) - vráti index prvého prvku s hodnotou x v poli a, ak žiadny prvok poľa nemá hodnotu x, vráti chybu
a.count(x) - vráti info o tom, koľkokrát sa nachádza prvok s hodnotou x v poli a
a.sort() - zoradí prvky poľa a podľa abecedy
a.reverse() - to isté čo sort, len zoradí prvky poľa a v obrátenom poradí
list(sekvencia) - vráti pole, ktorého prvky sú prebraté zo sekvencie
del a[x] - zmaže prvok poľa a s indexom x, dá sa použiť aj so slice notáciou a môže zmazávať celé premenné

Tuple

Je kombinácia poľa a reťazca. Tuple je nemenné! Vytvoríme ho ako pole, ale jednotlivé prvky, ktoré ho tvoria môžu aj nemusia byť ohraničené v okrúhlych zátvorkách.

Príklad:

>>> a=1,2,3
>>> a=(1,2,3) # ekvivalentný zápis s predošlým zápisom

Ak priradíme Tuple len jednu hodnotu, treba riadok ukončiť čiarkou.

Príklad:

>>> a='python',
>>> a
('python',)

Pre všetky dátové typy sú nasledujúce funkcie spoločné:

min(s) - vráti najmenší prvok zo sekvencie s
max(s) - vráti najväčší prvok zo sekvencie s
z [not] in s - ak je písmeno z v sekvencii s, tak vráti 1, v opačnom prípade vráti 0. Použitím not sa otázka neguje
len(s) - vráti počet prvkov v poli alebo tuple. Pri použití na reťazec jeho dĺžku
s1 + s2 - spojí sekvenciu s1 so sekvenciou s2
seq * x - opakuje sekvenciu seq x krát, pričom x musí byť prirodzené číslo