Python3 Babitas
- Kurz (anglicky), Pyladies
- stažení Pythonu
- interaktivní režim (součet, chyba, historie)
- Atom
Jazyk Python
- mezery, uvozovky, odsazení bloků
print("Test")- komentář pomocí
# """Komentář na více řádků"""
Klíčová slova
- speciální hodnoty:
False,None,True - operátory:
and,or,in,is,not - deklarace:
class,def,global,import,lambda,nonlocal - flow control:
break,continue,if,else,elif,except,finally,for,pass,return,try,while,with,yield - ostatní:
as,assert,del,from,raise
Identifikátory
a-zA-Z0-9_, první znak alfabetickýtest!=TestcamelCase,under_score- proměnné, KONSTANTY
- přiřazení pomocí
=
⌘ Příklad
- Uložte si 2 různé proměnné (číslo a řetězec) a vypište je
⌘ Příklad
- Napište skript, který definuje konstantu
PIna 2 desetinná místa - Deklarujte proměnnou
r - Vypište obvod kružnice s poloměrem
ra obsah
Datové typy
type(promenna)vypíše typ proměnnépromenna- přetypování je automatické
Boolean
True,False- zkuste si operátory
isanot
Čísla
- literály:
0b1010,23091,0o702,0xff,1.5e2,230.44 - konverze
int,float - float vs. int
- operátory
+,*,/,//,% - porovnávací operátory
==,!=,>,<,>=,<= - binární operátory
&,|,~,^,>>,<< - lze kombinovat s přiřazením, např.
+=,*=
⌘ Příklady
- Co dělá operátor
**? - Zkuste přesnost Pythonu na počet desetinných míst
0.1234567890123456789 - Zapište vzoreček $2^{(2+3)} / (8*2)$, jaký je výsledek?
- Vypočtěte druhou odmocninu z deklarované proměnné
x - Pro trojúhelník platí, že pokud $s = {a+b+c \over 2}$, pak $obsah = \sqrt(s(s-a)*(s-b)*(s-c))$, napište skript, který ho vypočte.
input("prompt: ")
Seznam list
l = [1, 2, 3, 4, 5, 6, 7], prvky mohou být libovolné datové typy- doc (anglicky)
- máme k dispozici funkce
len,pop,count,index,append, … - indexování od 0, negativní index
l[0],l[100],l[4:],l[1:2]l[1:3] = [9, 8]- reprezentace matice
del,in,not in- funkce
range,any,enumerate,max,sum
⌘ Příklady
- Vypočtěte součet prvních 1000 přirozených čísel
List comprehension
[item for item in list if condition]
⌘ Příklady
- Vygenerujte seznam všech sudých čísel menších než 100.
- Vygenerujte seznam dvojic, kdy první číslo je 1 až 10 a druhé číslo je jeho 2. mocnina.
Ntice (tuple)
- podobná jako seznam, neměnná
- obvykle rychlejší, konverze
listatuple
Řetězec string
- neměnná sekvence jako tuple
- literály:
"z",'řetězec',\nA\t,\ufeff,"""XX""" - escape sekvence
- Unicode / UTF-8
- násobení řetězce, konkatenace,
in strip,len,split,lower,upper,find,replace- metody seznamů
- porovnávací operátory a řetězce
⌘ Palindrom
⌘ Odstranění interpunkce
⌘ Vypsání textu pozpátku (po slovech)
⌘ 1D piškvorky
Množina set
s = {1, 2, 3, 2, 2}- neuspořádaná, unikátní prvky
set,add, další viz zde|,&,-,^
Slovník dict
- klíče a hodnoty, neuspořádané
- klíče: čísla, řetězce, ntice
- slovník ze seznamu dvojic
get,setdefault,pop,items,values
⌘ Slovník slovníků
⌘ Příklad konverze mezi datovými typy
- num > string
- string > list
- list > dict
- string > int / float
print funkce
- více parametrů, formátování
- formátování
"Hodnota x je {} a y {}".format(x, y) "Hodnota x je {1} a y {}".format(y, x)"Ahoj {jmeno}, {pozdrav}".format(jmeno="Vítku", pozdrav="jak se máš?")"Řetězec %s, celé číslo %d a reálné číslo %.4f" % ("řřř", 3, 3.1415926)
import modulu
random,sys- Google je tvůj přítel!
Flow control
Podmínka if
if condition1:
statement1
elif cond2:
statement2
else:
statement3
Cyklus for, while
for item in sequence:
statement
while condition:
statement
break,continue,pass
⌘ Nekonečný cyklus
⌘ Součet dvou matic
⌘ Kámen nůžky papír
⌘ Seznam dělitelů
⌘ Test prvočíselnosti
⌘ Kreslení
- Napiš funkci, která dostane seznam souřadnic (párů čísel menších než 10, která určují sloupec a řádek) a
vypíše je jako mapu: mřížku 10×10, kde na políčka která jsou v seznamu napíše X, jinde tečku. Například:
nakresliMapu([(0, 0), (1, 0), (2, 2), (4, 3), (8, 9), (8, 9)])
Funkce
def function_name(parameters):
statements
- uživatelské a vestavěné funkce
- volání
- return
- viditelnost proměnných
- povinné a defaultní parametry
⌘ Odmocnina
⌘ Ukázka rekurze (fibonacci)
Funkce jako parametr (numerické operace)
Lambda funkce
lambda x: expressionfilter,map
I/O
- https://www.programiz.com/python-programming/file-operation
open(fn, 'w')- módy
r,w,a,b close,seek,tell,read,readline,write- iterace po řádcích
⌘ Velikost JPEG obrázku
- výška je na 2 B na 164. pozici
- další 2 B označují šířku
for line in open(filename):
f(line)
⌘ Generování HTML
Regulární výrazy
- modul
re match,search,sub
Výjimky, ošetření
published: 2018-11-18
last modified: 2023-11-20
https://vit.baisa.cz/notes/learn/python3-babitas.cs/
last modified: 2023-11-20
https://vit.baisa.cz/notes/learn/python3-babitas.cs/