(Existuje nějaký český překlad?)
pass
Příkaz pass
se pouze vykoná, nedělá žádnou užitečnou činnost.
Používá se používá na místech, kde je podle syntaxe jazyka požadován
příkaz.
for
Cyklus for
funguje podobně jako v shellu, používá se řídící
proměnná, která prochází postupně všemi hodnotami v listu, n-tici
nebo řetězci.
>>> zvirata = ['slon', 'nosorožec', 'hroznýš', 'ježek']
>>> for i in zvirata:
... print len(i), i
4 slon
9 nosorožec
7 hroznýš
5 ježek
ADVANCED:
Není bezpečné cyklit přes seznam a přitom jej
modifikovat. V takovém případě je nutné použít nějaký jiný obrat,
např. cyklit přes kopii objektu.
(Viz příklad v anglickém tutorialu (ODKAZ))
range()
Je-li potřeba cyklit přes posloupnost celých čísel, je možné s výhodou
použít funkci range()
, která bere jeden, dva nebo tři parametry.
Funkce vrací seznam obsahující aritmetickou posloupnost závislou na
parametrech.
>>> range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> range(-5,5)
[-5, -4, -3, -2, -1, 0, 1, 2, 3, 4]
>>> range(0,-10)
[]
>>> range(0,-10,-1)
[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
ADVANCED:
Používá-li se range()
na počítačích
s malou velikostí paměti nebo s velkými parametry, může dojít
k vyčerpání paměti - výjimka MemoryError
. Je totiž zapotřebí
v paměti vytvořit místo na dostatečně velký seznam. V takových případech
je lepší použít funkce xrange()
, která se volá stejně, ale místo
seznamu vrací objekt typu xrange. Tento objekt se zvenku chová stejně
jako seznam, při přístupu k elementu se tento musí vypočítat.
(Pěkný příklad na přetěžování.)
while
Smyčka while
se používá úplně stejně jako v C.
Použití
while <podmínka>:
<blok - opakovaná akce>
if
elif
else
Příkaz if
funguje
if <podmínka P1>:
<pokud je splněno P1>
elif <jiná podmínka P2>:
<pokud je splněno P2>
elif <ještě jiná podmínka>:
<pokud je splněno P3>
else:
<pokud není splněno nic>
Všechno, kromě if
je nepovinné, elif
ů může být více, ale pokud
jsou, tak musí být všechny před else
.