Nacházíte se zde: Domů ‣ Ponořme se do Pythonu 3 ‣
Obsah
- Co najdete v „Ponořme se do Pythonu 3“ nového
- aneb „záporná úroveň”
- Instalujeme Python
- Ponořme se
- Který Python je pro vás ten správný?
- Instalace pod Microsoft Windows
- Instalace pod Mac OS X
- Instalace pod Ubuntu Linux
- Instalace na jiných platformách
- Použití Python Shell
- Editory a vývojová prostředí pro Python
- Váš první pythonovský program
- Ponořme se
- Deklarace funkcí
- Nepovinné a pojmenované argumenty
- Psaní čitelného kódu
- Dokumentační řetězce
- Vyhledávací cesta pro
import
- Všechno je objekt
- Co to vlastně je objekt?
- Odsazování kódu
- Výjimky
- Obsluha chyb importu
- Volné proměnné
- Vše je citlivé na velikost písmen
- Spouštění skriptů
- Přečtěte si
- Přirozené datové typy
- Ponořme se
- Booleovský typ
- Čísla
- Vynucení převodu celých čísel na reálná a naopak
- Běžné operace s čísly
- Zlomky
- Trigonometrie
- Čísla v booleovském kontextu
- Seznamy
- Vytvoření seznamu
- Vytváření podseznamů
- Přidávání položek do seznamu
- Vyhledávání hodnoty v seznamu
- Odstraňování položek ze seznamu
- Odstraňování položek ze seznamu: Bonusové kolo
- Seznamy v booleovském kontextu
- N-tice
- N-tice v booleovském kontextu
- Přiřazení více hodnot najednou
- Množiny
- Vytvoření množiny
- Úprava množiny
- Odstraňování položek z množiny
- Běžné množinové operace
- Množiny v booleovském kontextu
- Slovníky
- Vytvoření slovníku
- Úprava slovníku
- Slovníky se smíšeným obsahem
- Slovníky v booleovském kontextu
None
None
v booleovském kontextu
- Přečtěte si
- Generátorová notace
- Ponořme se
- Práce se soubory a s adresáři
- Aktuální pracovní adresář
- Práce se jmény souborů a adresářů
- Výpis adresářů
- Získání dalších informací o souboru
- Jak vytvořit absolutní cesty
- Generátorová notace seznamu
- Generátorová notace slovníku
- Další legrácky s generátorovou notací slovníků
- Generátorová notace množin
- Přečtěte si
- Řetězce
- Pár nudných věcí, kterým musíme rozumět dříve, než se budeme moci ponořit
- Unicode
- Ponořme se
- Formátovací řetězce
- Složená jména oblastí
- Specifikátory formátu
- Další běžné metody řetězců
- Vykrajování podřetězců
- Řetězce vs. bajty
- Závěrečná poznámka: Kódování znaků v pythonovském zdrojovém textu
- Přečtěte si
- Regulární výrazy
- Ponořme se
- Případová studie: Adresa ulice
- Případová studie: Římská čísla
- Kontrola tisícovek
- Kontrola stovek
- Využití syntaxe
{n,m}
- Kontrola desítek a jednotek
- Víceslovné regulární výrazy
- Případová studie: Analýza telefonních čísel
- Shrnutí
- Uzávěry a generátory
- Ponořme se
- Já vím jak na to! Použijeme regulární výrazy!
- Seznam funkcí
- Seznam vzorků
- Soubor vzorků
- Generátory
- Generátor Fibonacciho posloupnosti
- Generátor pravidel pro množné číslo
- Přečtěte si
- Třídy a iterátory
- Ponořme se
- Definice tříd
- Metoda
__init__()
- Vytváření instancí tříd
- Členské proměnné
- Fibonacciho iterátor
- Iterátor pro pravidla množného čísla
- Přečtěte si
- Iterátory pro pokročilé
- Ponořme se
- Nalezení všech výskytů vzorku
- Nalezení jedinečných prvků posloupnosti
- Činíme předpoklady
- Generátorové výrazy
- Výpočet permutací (pro lenochy)
- Další legrácky v modulu
itertools
- Nový způsob úpravy řetězce
- Vyhodnocování libovolných řetězců zachycujících pythonovské výrazy
- Spojme to všechno dohromady
- Přečtěte si
- Unit Testing
- (Ne)ponořme se
- Jediná otázka
- „Zastav a začni hořet“
- Více zastávek, více ohně
- A ještě jedna věc...
- Symetrie, která potěší
- Více špatných vstupů
- Refaktorizace
- Ponořme se
- Zvládání měnících se požadavků
- Refaktorizace
- Shrnutí
- Soubory
- Ponořme se
- Čtení z textových souborů
- Kódování znaků vystrkuje svou ošklivou hlavu
- Objekty typu stream
- Čtení dat z textového souboru
- Zavírání souborů
- Automatické zavírání souborů
- Čtení dat po řádcích
- Zápis do textových souborů
- A znovu kódování znaků
- Binární soubory
- Objekty typu stream z nesouborových zdrojů
- Práce s komprimovanými soubory
- Standardní vstup, výstup a chybový výstup
- Přesměrování standardního výstupu
- Přečtěte si
- XML
- Ponořme se
- Pětiminutový rychlokurz XML
- Struktura Atom Feed
- Analýza XML
- Elementy jsou reprezentovány seznamy
- Atributy jsou reprezentovány slovníky
- Vyhledávání uzlů v XML dokumentu
- lxml jde ještě dál
- Generování XML
- Analýza porušeného XML
- Přečtěte si
- Serializace pythonovských objektů
- Ponořme se
- Stručná poznámka k příkladům v této kapitole
- Uložení dat do „pickle souboru“
- Načítání dat z „pickle souboru“
- „Piklení“ bez souboru
- Bajty a řetězce znovu zvedají své ošklivé hlavy
- Ladění „pickle souborů“
- Serializace pythonovských objektů pro čtení z jiných jazyků
- Uložení dat do JSON souboru
- Zobrazení pythonovských datových typů do JSON
- Serializace datových typů, které JSON nepodporuje
- Načítání dat z JSON souboru
- Přečtěte si
- Webové služby nad HTTP
- Ponořme se
- Vlastnosti HTTP
- Používání mezipaměti
- Kontrola
Last-Modified
- Kontrola
ETag
- Komprese
- Přesměrování
- Jak se nedostat k datům přes HTTP
- Co že to máme na drátě?
- Představujeme
httplib2
- Krátká odbočka vysvětlující, proč
httplib2
vrací bajty místo řetězců
- Jak
httplib2
zachází s mezipamětí
- Jak
httplib2
zachází s hlavičkami Last-Modified
a ETag
- Jak
http2lib
pracuje s kompresí
- Jak
httplib2
řeší přesměrování
- Za hranicemi HTTP GET
- Za hranicemi HTTP POST
- Přečtěte si
- Případová studie: Přepis
chardet
pro Python 3
- Ponořme se
- Co se rozumí autodetekcí znakového kódování?
- Není to náhodou neproveditelné?
- Existuje takový algoritmus?
- Úvod do modulu
chardet
- UTF-n s BOM
- Kódování escape sekvencemi
- Vícebajtová kódování
- Jednobajtová kódování
windows-1252
- Spouštíme
2to3
- Krátká odbočka k vícesouborovým modulům
- Opravme, co
2to3
neumí
False
je syntaktická chyba
- Nenalezen modul
constants
- Jméno 'file' není definováno
- Řetězcový vzorek nelze použít pro bajtové objekty
- Objekt typu
'bytes'
nelze implicitně převést na str
- Nepodporované typy operandů pro +:
'int'
a 'bytes'
- funkce
ord()
očekávala řetězec o délce 1, ale byl nalezen int
- Neuspořádatelné datové typy:
int()
>= str()
- Globální jméno
'reduce'
není definováno
- Shrnutí
- Balení pythonovských knihoven
- Ponořme se
- Věci, které za nás Distutils neudělají
- Struktura adresáře
- Píšeme svůj instalační skript
- Přidáváme klasifikaci našeho balíčku
- Příklady dobrých klasifikátorů balíčků
- Určení dalších souborů prostřednictvím manifestu
- Kontrola chyb v našem instalačním skriptu
- Vytvoření distribuce obsahující zdrojové texty
- Vytvoření grafického instalačního programu
- Tvorba instalačních balíčků pro jiné operační systémy
- Přidání našeho softwaru do Python Package Index
- Více možných budoucností balení pythonovských produktů
- Přečtěte si
- Přepis kódu do Pythonu 3 s využitím
2to3
- Ponořme se
- Příkaz
print
- Literály Unicode řetězců
- Globální funkce
unicode()
- Datový typ
long
- Porovnání <>
- Slovníková metoda
has_key()
- Slovníkové metody, které vracejí seznamy
- Moduly, které byly přejmenovány nebo reorganizovány
http
urllib
dbm
xmlrpc
- Ostatní moduly
- Relativní importy uvnitř balíčku
- Metoda iterátoru
next()
- Globální funkce
filter()
- Globální funkce
map()
- Globální funkce
reduce()
- Globální funkce
apply()
- Globální funkce
intern()
- Příkaz
exec
- Příkaz
execfile
repr
literály (zpětné apostrofy)
- Příkaz
try...except
- Příkaz
raise
- Metoda generátorů
throw
- Globální funkce
xrange()
- Globální funkce
raw_input()
a input()
- Atributy funkcí
func_*
- Metoda
xreadlines()
V/V objektů
lambda
funkce, které akceptují n-tici místo více parametrů
- Atributy speciálních metod
- Speciální metoda
__nonzero__
- Oktalové literály
sys.maxint
- Globální funkce
callable()
- Globální funkce
zip()
- Výjimka
StandardError
- Konstanty modulu
types
- Globální funkce
isinstance()
- Datový typ
basestring
- Modul
itertools
sys.exc_type
, sys.exc_value
, sys.exc_traceback
- Generátory seznamů nad n-ticemi
- Funkce
os.getcwdu()
- Metatřídy
- Věci týkající se stylu
- Množinové literály (
set()
; explicitně)
- Globální funkce
buffer()
(explicitně)
- Bílé znaky kolem čárek (explicitně)
- Běžné obraty (explicitně)
- Jména speciálních metod
- Ponořme se
- Základy
- Třídy, které se chovají jako iterátory
- Vypočítávané atributy
- Třídy, které se chovají jako funkce
- Třídy, které se chovají jako množiny
- Třídy, které se chovají jako slovníky
- Třídy, které se chovají jako čísla
- Třídy, které se dají porovnávat
- Třídy, které podporují serializaci
- Třídy, které mohou být použity v bloku
with
- Opravdu esoterické věci
- Přečtěte si
- Čím pokračovat
- Doporučuji k přečtení
- Kde hledat kód kompatibilní s Pythonem 3
- Odstraňování problémů
- Ponořme se
- Jak se dostat k příkazovému řádku
- Spuštění Pythonu z příkazového řádku
- Seznam oprav a úprav
© 2001–11 Mark Pilgrim