Ťahák Python

 

Operátory (podľa priority):
** mocnina (exponent)
*, /, //, % násobenie, delenie, celočíselné delenie, zvyšok po delení
+, - súčet, rozdiel
<, <=, >=, >, ==, != porovnania, test na rovnosť, rôznosť
not logická negácia
and logická spojka a
or logická spojka alebo
Práca s typmi:
None konštanta pre nič
int(text) zmení text na celé číslo
float(text) zmení text na desatinné číslo
str(hodnota) zmení hodnotu na text
type(výraz) poskytne informáciu o type výslednej hodnoty výrazu
Náhodné čísla:
from random import * knižnica pre prácu s náhodnými číslami
randrange(od, po) vygeneruje celé náhodné číslo z rozsahu od ... po - 1
Práca s grafikou:
from tkinter import * príkazy z grafickej knižnice tkinter
canvas = Canvas(width = šírka, height = výška, highlightthickness = 0)
canvas.pack()
inicializuje grafiku a zobrazí okno s grafickou plochou
 
canvas.delete('all') zmaže grafickú plochu
canvas.create_rectangle(x1, y1, x2, y2, fill = 'farba', outline = 'farba') pridá do grafickej plochy obdĺžnik
canvas.create_oval(x1, y1, x2, y2, fill = 'farba', outline = 'farba') pridá do grafickej plochy elipsu
canvas.create_line(x1, y1, x2, y2, fill = 'farba') pridá do grafickej plochy úsečku
canvas.create_text(x, y, fill = 'farba', font = ('písmo', veľkosť), text = 'text') pridá do grafickej plochy text
bitmapa = PhotoImage(file = 'meno súboru') vytvorí a zo súboru prečíta bitmapový obrázok
canvas.create_image(x, y, image = bitmapa) pridá do grafickej plochy obrázok
fill = '#%06x' % randrange(0, 0x01000000) náhodne vygenerovaná farba pre predchádzajúce grafické objekty
Korytnačia grafika:
Turtle trieda pre korytnačku z grafickej knižnice tkinter
forward(dĺžka)
left(uhol)
right(uhol)
posunie sa dopredu o danú dĺžku
otočí sa vľavo o daný uhol
otočí sa vpravo o daný uhol
pencolor('farba')
pensize(hrúbka)
dot(priemer, 'farba')
nastaví farbu pre kreslenie čiary
nastaví hrúbku čiary
nakreslí krúžok
setpos(x, y)
penup()
pendown()
nastavenie pozície - používa sa geometrická súradnicová sústava
vypne kreslenie
zapne kreslenie
delay(0)
urýchli kreslenie (bez animácií)
Vstup od používateľa a výstup:
vstup = input('výzva') počká na vstupný text z príkazového riadku
print(výraz, ...) vypíše hodnoty jedného alebo viacerých výrazov do príkazového riadku
Cyklus for:
for premenná in range(od, po):
    telo cyklu
za premennú cyklu sa postupne dosádzajú hodnoty z rozsahu <od, po - 1> a
pre každú dosadenú hodnotu sa vykonajú príkazy z tela cyklu
Cyklus while:
while test:
    telo cyklu
kým je test splnený, vykonajú sa príkazy z tela cyklu
Podmienený príkaz if:
if test1:
    príkazy1
elif test2:
    príkazy2
...
else test2:
    príkazyn
ak je splnený test1,
    vykoná príkazy1,
inak, ak je splnený test2,
    vykoná príkazy2,
...
inak (nebol splnený žiaden z predchádzajúcich testov testov)
    vykoná príkazyn
Podprogram:
def meno(param1, param2, ... paramn):
    telo podprogramu
zadefinuje podprogram s daným menom
return výraz
ukončí vykonávanie podprogramu s výsledkom, ktorý zodpovedá hodnote výrazu
return
ukončí vykonávanie podprogramu bez návratovej hodnoty (s výsledkom None)
Trieda:
class Meno:
    def __init__(self, ...):
        telo konštruktora

    def metóda(self, ...):
        telo metódy
    ...
zadefinuje triedu s daným Menom v metódach používame self.premenná pre premenné objektu
objekt = Meno(parametre konštruktora)
vytvorí objekt, referencia naň sa uloží do premennej objekt
objekt.metóda(parametre konštruktora)
volanie metódy daného objektu
Zoznam:
zoznam = [prvok0, prvok1, ... prvokn - 1]
vytvorí zoznam hodnôt
zoznam = [hodnota] * n vytvorí n-prvkový zoznam hodnôt
zoznam.append(hodnota) pridá do zoznamu ďalší prvok
del zoznam[index] odstráni zo zoznamu prvok s daným indexom; index ∈ <-n, n)
len(zoznam) počet prvkov zoznamu
zoznam[i] prvok zoznamu s indexom i; i ∈ <-n, n)
zoznam[od:po] vytvorí rez - podzoznam s prvkami z rozsahu <od, po - 1>
pole = [[hodnota] * n for i in range(0, m)] vytvorí dvojrozmerné pole hodnôt, ktoré má m riadkov a n stĺpcov
pole[r][s] prvok poľa na riadku s indexom r a v stĺpci s indexom s; r ∈ <-m, m), s ∈ <-n, n)
Práca so súbormi:
súbor = open('meno', 'w')
súbor.write(text)
otvorí súbor s daným menom na zápis
zapíše, pridá do súboru text
súbor = open('meno', 'r')
riadok = súbor.readline()
for riadok in súbor:
    ...
otvorí súbor s daným menom na čítanie
prečíta zo súboru jeden riadok textu
prečíta celý súbor až do konca tak, že do premennej riadok postupne priraďuje
jednotlivé prečítané riadky
zoznam = riadok.split()
rozdelí riadok na časti podľa bielych znakov
súbor.close() zatvorí súbor
Komponenty a udalosti:
label = Label(text = 'nápis') vytvorí textový popis - zobrazuje nápis
button = Button(text = 'nápis', command = podprogram) vytvorí tlačidlo s nápisom - po kliknutí zavolá podprogram() bez parametrov
entry = Entry()
entry.focus()
entry.get()
vytvorí vstupné políčko nápisom
aktivuje klávesnicu pre vstupné políčka
vráti text, ktorý používateľ zadal do vstupného políčka
komponent.pack(side = 'left')
komponent.pack(side = 'right')
komponent.pack(fill = 'x')
umiestni kompnent vľavo
umiestni kompnent vpravo
roztiahne kompnent na šírku
canvas.bind('<Motion>', podprogram)
canvas.bind('<B1-Motion>', podprogram)
canvas.bind('<B3-Motion>', podprogram)
canvas.bind('<ButtonPress>', podprogram)
canvas.bind('<ButtonRelease>', podprogram)
pri pohybe myši zavolá podprogram(event) a event.x, event.y sú súradnice kurzora
pri pohybe s ľavým stlačeným tlačidlom myši zavolá podprogram(event)
pri pohybe s pravým stlačeným tlačidlom myši zavolá podprogram(event)
pri stlačení tlačidla myši zavolá podprogram(event) a event.num je číslo stlačeného tlačidla
pri pustení tlačidla myši zavolá podprogram(event)
canvas.master.bind('<KeyPress>', podprogram)
canvas.master.bind('<KeyRelease>', podprogram)
pri stlačení klávesu zavolá podprogram(event) a event.keysym je meno stlačeného klávesu
pri pustení klávesu zavolá podprogram(event) a event.keysym je meno pusteného klávesu
canvas.after(čas, podprogram)
po uplynutí času (v milisekundách) zavolá podprogram bez parametrov

© 2023 Ľ. SALANCI