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
!=Test
camelCase
,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
PI
na 2 desetinná místa - Deklarujte proměnnou
r
- Vypište obvod kružnice s poloměrem
r
a obsah
Datové typy
type(promenna)
vypíše typ proměnnépromenna
- přetypování je automatické
Boolean
True
,False
- zkuste si operátory
is
anot
Čí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
list
atuple
Ř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: expression
filter
,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/