Pythonýrská příručka Alfa| Argument | Co dělá |
|---|---|
| -h | vytiskne nápovědu argumentů a skončí |
| -i | Po dokončení programu python neskončí, nezavře se černé okno,ale zůstává čekat na naše další příkazy, které mohou navazovat na program. Jinými slovy - máme dostupné všechny proměnné i funkce z programu. |
| mujprogram |
Jméno programu/scriptu. |
| argumenty |
argumenty mého programu. Jsou předány do programu v sys.argv[1:]
|
#!/usr/bin/env python
# -*- coding: utf-8 -*
and, as, assert, break, class, continue, def, del, elif, else,
except, exec, finally, for, from, global, if, import, in, is,
lambda, not, or, pass, print, raise, return, try, while, with, yield
| Příklady |
|---|
| "retezec uvnitr dvojitych uvozovek", 'retezec uvnitr jednoduchych uvozovek' |
|
"""retezec uvnitr trojitych uvozovek muze obsahovat Enter i "neco v uvozovkach" """ |
|
čeština v řetězcích: unicode řetězce: u"český řetězec uvnitř dvojitých uvozovek s předsazeným u " Pro správné fungování češtiny v řetězcích je nutné:
|
|
surový řetězec:r"c:\python25\python.exe" - používá se u windowsovských cest, které obsahují "\" Také se může použít "c:\\python25\\python.exe" nebo dokonce "c:/python25/python.exe" |
str ) délky 0, 1, 2, ... (viz výše)tuple ) délky 0, 1, 2, ...:list ) délky 0, 1, 2,... :dict ) délky 0, 1, 2, apod.: {}, {1 : 'prvni'}, {1 : 'prvni', 'dalsi': 'druhy'}
set a frozenset (neměnitelná množina). Množiny jsou neuspořádané sbírky jedinečných (žádné duplikáty) prvků.
| Operace | Výsledek |
|---|---|
| x+ y |
součet x a y |
| x - y |
rozdíl x a y |
| x* y | součin x a y |
| x/ y |
podíl x a y. 5/3=1 5.0/3 = 1.66666 float(5)/3=1.6666 |
| x % y |
zbytek po dělení čísel x a y : 5%3=2 (jako doplněk předchozího) |
| x** y | mocnina: x na y |
| abs(x) | absolutní hodnota x |
| int(x) | převod x na celé číslo |
| float(x) | převod x na desetinné číslo |
| Operace | Výsledek |
|---|---|
| ~x | invertované bity |
| x^ y | bitové exkluzivní nebo nad x a y |
| x& y | bitový součin x a y |
| x|y | bitové nebo x a y |
| x<<n | xposunuto doleva o n bitů |
| x>>n | x posunuto doprava o n bitů |
| Operace | Výsledek | Poznámky |
|---|---|---|
| s+t | spojení s a t | |
| s*n, n*s | n kopií s | |
| s[i] | i-tý prvek s, začíná se na 0 |
když je i záporné, počítá se od konce.
|
|
s[i:j] s[i:j:krok] |
Ukrojení s od i (včetně) do j (vyjma). Nepovinně krok, možno i záporná hodnota (předvoleno: 1). |
Výsledkem bude podposloupnost. Krájení posloupností [zacina-na-indexu:je-mensi-nez-index[ : krok]]. Příklad: a = (0,1,2,3,4,5,6,7) |
| len(s) | délka s (počet prvků) | |
| min(s) | nejmenší prvek z s | |
| max(s) | největší prvek z s | |
| x ins |
Pravda, když x je rovno nějakému prvku z s, jinak Nepravda
|
použití:if prvek in s: |
| xnot in s | Opak předchozího |
|
| reversed(s) | [2.4] Vrací iterátor posloupnosti s v obráceném pořadí. |
|
| sorted(s) | [2.4] vrací seřazenou posloupnost s |
|
str )
| Operace | Výsledek |
|---|---|
| s.count(sub[,start[,end]]) | Vrací počet výskytů podřetězce sub v řetězci s. Nepovinný argument start určuje, odkud se má začít prohledávat. Podobně i end. |
| s.find(sub[,start[,end]]) | Vrací první index ze s, kde je nalezen podřetězec sub. Vrací -1, když není nalezen. |
| s.index(sub[,start[,end]]) | Jako find(), ale vrací chybu, když sub není nalezen. |
| separator.join(seq) |
Vrací spojené řetězce ze seznamu seq,oddělené oddělovačem separator. např.: ", ".join(['A', 'B', 'C']) -> "A, B, C"
|
| s.lower() | Vrací řetězec převedený na malá písmena. |
| s.partition(oddelovac) |
Vyhledá oddělovač oddelovac v s a vrátí n-tici (head, sep, tail)
|
| s.replace(old, new[, maxCount=-1]) | Vrací kopii s, kde budou všechny podřetězce old nahrazeny podřetězcem new. Možno zadat maximální počet nahrazeni maxCount. |
| s.split([separator[, maxsplit]]) | Vrací seznam slov v řetězci s, jako oddělovače slov se použije separator. Možno omezit počet dělení pomocí maxsplit. |
| s.strip([znaky]) | Vrací kopii řetězce s, kde budou odstraněny ze začátku a konce znaky. Standardně jsou to tzv. bílá místa, tedy netisknutelné znaky jako mezera, tabulátor, enter,... |
| s.swapcase() | Vrací řetězec, kde místo malých budou velká písmena a naopak. |
| s.upper() | Vrací řetězec převedený na velká písmena. |
formatovaciRetezec % parametry--> vrací řetězec
Formátovací řetězec Výsledek '%3d' % 2' 2''%03d' % 2'002''%+d' % 2'+2''%.4f' % 2'2.0000''%.*f' % (4, 2)'2.0000''%010.4f' % 2'00002.0000'
list )
| Operace | Výsledek |
|---|---|
| s[i]=x |
prvek s indexem i je nahrazen x 1. prvek má index 0! |
| s[i:j[:krok]]= t | část seznamu s od indexu i do jje nahrazena t |
| dels[i:j[:krok]] | smaže prvky od i do j; stejné jako s[i:j] = [] |
| s.append(x) | přiřadí x na konec seznamu; stejné jako s[len(s) : len(s)] = [x] |
| s.extend(x) | přiřadí seznam x na konec seznamu s; stejné jako s[len(s):len(s)]=x |
| s.count(x) | vrací počet prvků, které se rovnají x (s[i] == x) |
| s.index(x[, start[,stop]]) |
vrací první index i, kde platí s[i]==x. start a stop mohou omezit rozsah hledání. |
| s.insert(i,x) |
vloží x před index i; stejné jako s[i:i] = [x] i == -1 vkládá před poslední prvek. |
| s.remove(x) | smaže první x, které najde; stejné jako del s[s.index(x)] |
| s.pop([i]) | smaže a vrátí poslední (i-tý) prvek |
| s.reverse() |
otočí na místě seznam. Příklad:chybně: print s.reverse() # vytiskne None, tedy nic |
| s.sort() | seřadí na místě seznam podle velikosti |
dict )
| Operace |
Výsledek |
|---|---|
| dict( **kw) | Vytváří slovník. Pojmenované argumenty kw jako počáteční seznam. |
| d[k] | Hodnota na klíči k |
| d[k]=x | Přiřaď x na d[k] |
| del d[k] | Smaž d[k] z d |
|
d.has_key(k) k in d |
Pravda , když klíč k je ve slovníku d, jinak Nepravda
|
| d.items() | Seznam dvojic (klíč, hodnota) ze slovníku d |
| d.keys() | Seznam klíčů slovníku d |
| d1.update(d2) | Aktualizace slovníku d1slovníkem d2 |
| d.values() | Seznam hodnot slovníku d |
| d.iteritems() |
Vrací iterátor přes dvojice (klíč, hodnota). Příklad:for klic, hodnota in d.iteritems(): |
| d.pop(k[,default]) | Maže klíč k a vrací jeho hodnotu. Pokud není nalezen, vrací default. |
file() .| Operace | Výsledek |
|---|---|
|
f=file('nazev.txt') |
Otevře soubor jen na čtení. Možné psát plně: f=file('nazev.txt','r') 'r' jako read. |
|
f=file('nazev.txt','w') |
'w' jako write. Vytvoří soubor jen na zápis. Pokud soubor již existoval, obsah bude smazán. |
|
f=file('nazev.txt','a') |
'a' jako append. Otevře soubor pro čtení i zápis. Pokud soubor neexistuje, bude vytvořen. |
| Operace | Výsledek |
|---|---|
| f.close() |
Uzavři soubor f. |
| f.read([pocetbytu]) | Přečte celý soubor a vrátí ho jako řetězec. Při zadání pocetbytu čte a vrací jen zadaný počet bytů. |
| f.readline() | Čte a vrací jednu řádku ze souboru f. |
| f.readlines() | Čte až do konce souboru a vrací seznam řádek. |
|
for radka in f: print radka |
Opakovaně čte (a zpracovává) řádky ze souboru. |
| f.write(str) | Zapíše řetězec do souboru f. |
| f.writelines(seznam) | Zapíše seznam řetězců do souboru f. |
set a frozenset (neměnitelné množiny).
| Operace | Výsledek |
|---|---|
| set/frozenset([iterable=None]) |
Vytvoří množinu set nebo frozenset z dané iterable např.([1,2,3]) , set("hello") .
|
| len(s) | Mohutnost množiny s. |
| prvekin s / not ins |
True když prvek patří / nepatří do množiny s.
|
| for prvekin s: process prvek... | Procházení prvky množiny s. |
| Příkaz | Výsledek |
|---|---|
|
if podmínka: tělo [elif podmínka2: tělo2] * [else: tělo3] |
Obvyklý if/else příkaz. Provede se vždy jen jedno tělo, to první pravdivé, pak if končí. Elif i else jsou nepovinné. Else může být jen jedno, elif kolik chcete. |
|
while podmínka: tělo [else: tělo] |
Obvyklý příkaz while. Tělo else se provede jen tehdy, pokud dojde k obyčejnému ukončení cyklu, tedy ne pomocí break . |
|
for element in posloupnost: tělo [else: tělo2] |
Procházení posloupností a přiřazování každé položky do proměnné element. Na vytváření jednoduchých posloupností používejte funkci range ( xrange ). Tělo else se provede jen tehdy, pokud dojde k obyčejnému ukončení cyklu, tedy ne pomocí break . |
| break | Okamžitě ukončuje cykly for a while. |
| continue |
Okamžitě se posune na další prvek v posloupnosti v cyklech for a while .
|
| return[výsledek] | Návrat z funkcí. |
|
Příkaz |
Výsledek |
|---|---|
|
try: tělo1 except: tělo2 [else: tělo3] |
Příkazy v těle1 jsou normálně prováděny. Pokud se vyskytne nějaká chyba, provádění se přerušuje a pokračuje se v except v těle2. Po provedení části except se pokračuje až za else. Pokud tělo1 skončí bez chyby, provede ještě případná část else .
|
|
try: block1 [except [exception [, value]: handler1]+ [else: else-block] finally: final-block |
Příkazy v block1 jsou normálně prováděny. Pokud nenastane žádná chyba,
provede se ještě else-block i final-block. Pokud nastaveno v block1
chyba, provede se handler1 a finally. Vyzkoušejte:try:
|
| raise | Úmyslné vyvolání chyby (předchozí nebo nové) |
|
with alokace [as proměnná] with-block |
Při použití tohoto příkazu je třeba použít from __future__ import with_statement.Jedná se o další zjednodušení kódu, příklad se souborem: Příklad: with open('/etc/passwd', 'r') as f: # na konci se soubor *automaticky* zavřeFunguje na všem, co podporuje tzv. context management protocol. |
|
Příkaz |
Výsledek |
|---|---|
|
import modul1 |
Importuje moduly. Použití:
import time |
| from modul import * |
Importuje modul přímo do prostoru jmen programu, takže se nemusí před funkcemi vypisovat jméno modulu. Nebezpečné, možnost konfliktu jmen! Použití:
from time import * |
| global jmeno 1 [, jmeno2] |
Jména zadaných proměnných se stanou globálními, to znamená že budou
přístupná i v ostatních funkcích programu. Nedoporučuje se nadužívat. |
| Funkce | Výsledek |
|---|---|
| abs(x) | Vrací absolutní hodnotu čísla x . |
| chr(i) | Vrací znak, jehož ASCII hodnota je číslo i. |
| cmp(x,y) | Vrací -1,0 nebo +1, pokud x<, == nebo > než y. |
| complex(real[,imag]) | Vytváří komplexní číslo; dá se udělat také pomocí j , např. 1+3j. |
| dict( [posloupnost nebo slovník]) |
Vrací nový slovník. Možnost zadat počáteční stav jako argument. Příklad:
|
| dir([objekt]) | Bez argumentu vrací seznam jmen lokálního prostoru jmen. S argumentem (modul, třída, instance,...) vrací seznam jmen v jeho slovníku. |
| divmod(a,b) | Vrací dvojici (a/b, a%b) |
| enumerate(iterable) | Iterátor vracející dvojici (index, hodnota) z iterable. |
| eval(s[,globals[,locals]]) |
Vyhodnotí (vykoná) řetězec s. Volitelně možno provádět v kontextu globals, locals. Příklad: x = 1 |
| execfile(file[,globals[,locals]]) | Spustí program. |
| file(filename[,mode='r']) |
Vrací objekt souboru. filename je název souboru, který se má otevřít. mode určuje, jak se má otevřít |
| float(x) | Převádí celé číslo nebo řetězec na desetinné číslo. |
| help([object]) | Vyvolává vestavěnou nápovědu. |
| input([prompt]) | Čeká na vstup čísla od uživatele. Možno zadat výzvu (prompt). |
| int(x) | Převádí číslo nebo řetězec na celé číslo. |
| len(objekt) | Vrací délku (počet prvků) objektu (seznam, slovník, ....). |
| list( posloupnost ) | Převádí posloupnost na seznam. |
| max( posloupnost [, args...]) | Při jednom argumentu ( posloupnost) vrací největší prvek z posloupnosti. Při více argumentech vrací největší z argumentů. |
| min(seq[,args...]) | Při jednom argumentu ( posloupnost) vrací nejmenší prvek z posloupnosti. Při více argumentech vrací nejmenší z argumentů. |
| ord(c) | Vrací ASCII hodnotu c(řetězec délky 1). |
| pow(x,y[,z]) | Vrací mocninu x**y (modulo z). |
| range(start[,end[,krok]]) |
Vrací seznam čísel od start (včetně) do end (mimo).range(10): # od 0 do 9 (10 tam nepatří)range(2,8): # 2,3,4,5,6,7 (8 tam nepatří)
|
| raw_input([prompt]) | Čeká na řetězec od uživatele. Možno zadat výzvu (prompt). Viz také input(). |
| round(x,n=0) | Vrací číslo zaokrouhlené na n desetinných míst. |
| str(object) | Převádí cokoliv na řetězec. |
| sum( posloupnost ) | Vrací součet posloupnosti čísel. |
| tuple([posloupnost]) | Vytváří n-tici se stejnými prvky, jako má posloupnost. |
| type(objekt) | Vrací typ objektu. |
| xrange(start[,end[, krok]]) | Jako range(),ale nevrací celý seznam najednou, ale jako iterátor čísel. Vhodné pro velká čísla a málo paměti. |
| zip(posl1[,posl2,...]) | Vrací seznam n-tic, kde každá n-tice obsahuje i-tý prvek z každé posloupnosti. |
Těšilo mě. ;-)