Python/Dive Into

Postupujeme dle knihy:

  • Mark Pilgrim: Dive into Python 3 (Amazon)

Tato kniha je volně dostupná jak ke čtení on-line, tak i ke stažení v HTML nebo PDF formátu:

A existuje k ní i volně dostupný český překlad:

Vřele doporučujeme si tuto knihu prostudovat celou. Vytištěná kniha má asi 500 stránek A4. Po několika kapitolách ale zapomeneme, co bylo v první. Tato stránka proto slouží k vytváření jakéhosi výcucu, studijních poznámek či přehledu toho, co se v jednotlivých kapitolách probírá.

-1. What’s New in “Dive Into Python 3” (Co najdete v „Ponořme se do Pythonu 3“ nového)Editovat

  • řetězce a bytes jsou něco jiného
  • všechny řetězce už jsou defaultně utf8
  • všechno jsou funkce – např. print()
  • a spousta dalších věcí
  • Vše je zkrátka jinak

Takže nejlépe jsou na tom asi ti, kteří si s Pythonem verze 1 ani 2 nic nezačali a naskakují rovnou do vlaku Python 3.

Pokud se někomu stane, že se mu dostane do ruky skript psaný v python2, může mu při zápase s přepisem do python3 pomoci skript:

2to3

0. Installing Python (Instalujeme Python)Editovat

"Který Python je pro vás ten správný?" – Ten, který je nainstalován na vašem počítači.

V Ubuntu apod. na to existuje balík python3 Ovšem je tam upozornění, že "Python 3 není společností Canonical udržován".

Dobrá varianta je také:

IDE (Integrated Development Environments)Editovat

Seznam viz: https://wiki.python.org/moin/IntegratedDevelopmentEnvironments

Běžné prostředí je:

V ubuntu je pro něj opět balík idle3

1. Your First Python Program (Váš první pythonovský program)Editovat

Příklad programů na převod počtu bytes na human readable formát – viz humansize.py

Na tomto programu se demonstrují různé věci a odkazuje se na něj i v dalších kapitolách. (Prakticky je to jediný ucelený prográmek, se kterým se v prvních kapitolách setkáme.)

2. Native Datatypes (Přirozené datové typy)Editovat

Python má těch datových typů mraky. Zde se probírají alespoň ty nejdůležitější:

  • boolean
  • number (číslo)
  • string (řetězec)
  • byte, byte array (bajt, pole bajtů)
  • list (seznam)
  • tuple (n-tice)
  • set (množina)
  • dictionary (slovník)
print (
'''Vytvoříme si 7 proměnných různých typů
a pak si necháme vypsat ty jejich typy:
--------------------------------------''')
booleovský = True
číslo      = 3.14
řetězec    = 'AHoJ světe!'
seznam     = [booleovský, číslo, řetězec]
n_tice     = (booleovský, číslo, řetězec)
množina    = {booleovský, číslo, řetězec}
slovník    = {'boolean':booleovský, 'number':číslo, 'string':řetězec}

print (booleovský, '...', type (booleovský))
print (číslo, '...', type (číslo))
print (řetězec, '...', type (řetězec))
print (seznam, '...', type (seznam))
print (n_tice, '...', type (n_tice))
print (množina, '...', type (množina))
print (slovník, '...', type (slovník))
Vytvoříme si 7 proměnných různých typů
a pak si necháme vypsat ty jejich typy:
--------------------------------------
True ... <class 'bool'>
3.14 ... <class 'float'>
AHoJ světe! ... <class 'str'>
[True, 3.14, 'AHoJ světe!'] ... <class 'list'>
(True, 3.14, 'AHoJ světe!') ... <class 'tuple'>
{True, 3.14, 'AHoJ světe!'} ... <class 'set'>
{'number': 3.14, 'string': 'AHoJ světe!', 'boolean': True} ... <class 'dict'>

3. Comprehensions (Generátorová notace)Editovat

4. Strings (Řetězce)Editovat

5. Regular Expressions (Regulární výrazy)Editovat

6. Closures & Generators (Uzávěry a generátory)Editovat

7. Classes & Iterators (Třídy a iterátory)Editovat

8. Advanced Iterators (Iterátory pro pokročilé)Editovat

9. Unit Testing (Unit Testing)Editovat

10. Refactoring (Refaktorizace)Editovat

11. Files (Soubory)Editovat

12. XML (XML)Editovat

13. Serializing Python Objects (Serializace pythonovských objektů)Editovat

14. HTTP Web Services (Webové služby nad HTTP)Editovat

15. Case Study: Porting chardet to Python 3 (Případová studie: Přepis chardet pro Python 3)Editovat

16. Packaging Python Libraries (Balení pythonovských knihoven)Editovat

A. Porting Code to Python 3 with 2to3 (Přepis kódu do Python 3 s využitím 2to3)Editovat

B. Special Method Names (Jména speciálních metod)Editovat

C. Where to Go From Here (Čím pokračovat)Editovat

D. Troubleshooting (Odstraňování problémů)Editovat

E. (Seznam oprav a úprav)Editovat