Učíme sa Python – časť 2. (dátové typy, funkcie, podmienené príkazy)

0

Dátové typy

Ukážme si dátove typy rovno v kóde:

text = "text"
cele_cislo = 3 
realne_cislo = 3.5 
pravda = True 
nepravda = False 


print(type(text)) 
print(type(cele_cislo)) 
print(type(realne_cislo)) 
print(type(pravda)) 
print(type(nepravda))

print(text, cele_cislo, realne_cislo, pravda, nepravda)

Ked spustíme program, môžeme vidieť toto:

Na vypísanie dátového typu používame funkciu type(). Keď dáme do tejto funkcie premennú, tak nám to vráti názov dátoveho typu, ktorého je daná premenná.
Čiže ak máme nasledujúci kód:

text = "toto je text"
type(text)

Tak prvý riadkom vytvoríme premennú s názvom text a priradíme jej hodnotu. Druhým riadkom vložíme túto premennú do funkcie type(text) a tá nám vráti dátový typ tejto premennej. V tomto prípade by sme dostali <class ‚str‘>

Aké dátové typy poznáme

  1. str – Toto je vtedy, keď je niečo text, resp písmenká. str je skrátený názov pre String.
  2. int – Keď je niečo celé číslo. Čiže napríklad 0, 1, 100, 245. int je skrátený názov pre Integer.
  3. float – Keď je niečo reálne číslo. Číslo ako napr 1.25, 3.35 atď.
  4. bool – Označuje pravdivosť. bool je skrátený názov pre Boolean.

Sú aj ďalšie dátové typy, ale tie teraz nebudeme preberať. Dátové typy sú v každom programovacom jazyku a je nutné ich poznať.

Funkcie

Funkcia je niečo, čo nám dokáže niečo vypočítať, niečo urobiť, resp. nejako pomôcť. Najlepšie si to ukážeme asi na príklade.

def vypocitajSucet(x, y):
    return x + y

Rozoberieme si to na obrázku:

Ako túto funkciu môžeme použiť?

def vypocitajSucet(x, y):
    return x + y

sucet = vypocitajSucet(4,8)

print(sucet)

Keď tento program spustíme, tak nám vypíše na obrazovku 12. Znova si to rozoberme na obrázku.

Skúsme opísať, čo sa stalo na 4. riadku. Zavolali sme funkciu vypocitajSucet a do zátvoriek sme dali dve čísla: 4 a 8. Čo znamená „zavolanie tejto funkcie“?
Na 1. a 2. riadku sme definovali túto funkciu, dali sme ju do éteru, do programu, aby sme ju mohli neskôr použiť, keď sa nám zachce. Táto funkcia sa použije tak, že ju zavoláme, a teda napíšeme meno tej funkcie a do zátvoriek musíme dať toľko čísel, textu, premenných (podľa toho, čo chceme), koľko máme parametrov. Parametre sa vo funkcii delia čiarkou, čiže teraz máme x,y – to sú 2 parametre.

Keď zavoláme túto funkciu s parametrami 4 a 8, tak sa spustí kód tejto funkcie. Kód funkcie je na riadku 2.:  return x + y.
Tento kód spraví to, že spočíta súčet x a y a tento súčet „vráti“. „Vráti“ znamená to, že keď niekto túto funkciu zavolá, tak dostane nejaké číslo naspať, ktoré si potom môže uložiť do premennej ak chce. Presne tak, ako sme urobili na 4. riadku s premennou sucet.

Funkcia nemusí mať parameter a nemusí ani nič vraciať

Funkcie môže, ale nemusí mať parametre v zátvorkách. Taktiež môže ale nemusí niečo vraciať, resp. použiť return na vrátenie nejakej hodnoty. Načo je taká funkcia dobrá? Na veľa vecí, uvidíte sami neskôr. Dajme si príklad funkcie, ktorá nič nevracia a nemá ani žiadny parameter.

def vypytajMenoAPozdrav():
    meno = input("Ako sa volas? ")
    print("ahoj " + meno)

Funkcia môže mať viacero riadkov. Táto funkcia má 2 riadky. Všetky riadky, ktoré táto funkcia obsahuje (2. a 3. riadok) musia byť odsadené, aby program vedel, že riadok patrí funkcii.
Čo táto funkcia robí? Predsa vypyta si meno a potom pozdraví 🙂
Ako to robí? Minule sme sa naučili funkciu input(), ktorá si vypýta text, keď program spustíme a ten text si vieme uložiť do premennej, ako sme aj urobili na 2. riadku. Ďalej použije funkciu print na to, aby nás pozdravila. Funkcia nemá žiadny parameter a ani nič nevracia, ale niečo aj tak robí.

Čo sa stane ak spustíme tento program?

Nič. Prečo nič? No definovali sme si funkciu vypytajMenoAPozdrav ale potom sme ju nikde nezavolali a ani nič iné nerobili. Čiže ak chceme, aby program použil túto funkciu, tak stačí jednoducho pridať riadok vypytajMenoAPozdrav()

def vypytajMenoAPozdrav():
    meno = input("Ako sa volas? ")
    print("ahoj " + meno) 

vypytajMenoAPozdrav()

Teraz už program bude vyzerať nejak takto:

Kľudne túto funkciu môžeme zavolať aj 1000 krát, a 1000 krát si vypýta meno a pozdraví.

Podmienené príkazy

Na príkladoch sa vysvetľuje najlepšie:

x = 5
y = 6
if x < y:  
    print("x je mensie ako y")

Na 3. a 4. riadku máme príklad podmieneného výrazu. Vysvetlime si to na obrázku:

Takže ak spustíme kód vyššie tak čo sa stane?

Čo ak by som mal kód takýto?

x = 5
y = 6
if x > y:  
    print("x je vacsie ako y")

Čo sa stane, keď spustím tento program? Nestane sa vôbec nič. Podmienka bola vyhodnotená ako nepravdivá, pretože 5 nie je väčšie ako 6, a teda kód tohto podmieneného výrazu print(„x je vacsie ako y“) sa nespustí.

Príklady porovnávacích operátorov

x = 15
y = 10

if x > y:  
    print("x je vacsie ako y") 

if x < y:  
    print("x je mensie ako y")

if x >= y:  
    print("x je vacsie alebo rovne ako y")

if x <= y:  
    print("x je mensie alebo rovne ako y")

if x == y:  
    print("x je rovne y")

if x != y:  
    print("x nie je rovne y")

Máme tu rôzne porovnávacie operátory: >, <, >=, <=, ==, !=
Ich význam v podstate môžeme vidieť pomocou hlášky, ktorú chceme vypísať.
Čo sa stane ak spustíme tento kód?

Všetky podmienky, ktoré boli splnené, vypísali hlášku na obrazovku.

Komplikovanejšie Podmienené výrazy

x = 9
y = 10

if x > y:  
    print("x je vacsie ako y")
else:
    print("x je mensie alebo rovne ako y")

Pridali sme do toho niečo nové. else:
Else po slovensky znamená „inak“, čiže ak prečítame náš zložitejší výraz, tak to môžeme prečítať takto:
Ak x je vacsie ako y, tak vypis „x je vacsie ako“, inak vypis „x je mensie alebo rovne ako y“
Vsimnime si, že aj za else je dvojbodka a príkaz pod else je tiež odsadený.
Ak spustíme tento program, tak dostaneme hlasku „x je mensie alebo rovne ako y“, pretože podmienka v if nebola vyhodnotená ako pravdivá, takže vykonáme to, čo je v else.

Ešte komplikovanejšie podmienené výrazy

x = 10
y = 10

if x > y:  
    print("x je vacsie ako y")
elif x == y:
    print("x je rovnake ako y")
else:
    print("x je mensie ako y")

Toto si radšej vysvetlíme na obrázku:

Tento if, elif, else sa číta tak, ako je to napísané na obrázku.
Čo sa stane ak spustím program vyššie? Podmienený výraz nás nesklame a napíše „x je rovnake ako y“.

Podmienené výrazy vo funkciach

Pokojne môžeme mať takúto funkciu:

def porovnajCisla(x,y):
    if x < y:
        print("x je mensie ako y")
    elif x == y:
        print("x je rovnake ako y")
    else:
        print("x je vacsie ako y")

Vytvorili sme funkciu, ktorá porovnáva čísla. Dali sme jej názov porovnajCisla a dva parametre, x a y, ktoré táto funkcia bude porovnávať. Nezabúdajme, že tento kód iba definuje funkciu, ale keď program spustíme, tak sa nič nedeje. Aby sa niečo stalo, musíme túto funkciu zavolať. Tak skúsme takýto kód:

def porovnajCisla(x,y):
    if x < y:
        print("x je mensie ako y")
    elif x == y:
        print("x je rovnake ako y")
    else:
        print("x je vacsie ako y")

porovnajCisla(3,5)
porovnajCisla(3,3)
porovnajCisla(5,3)

Čo vypíše tento program?

Funkciu sme zavolali trikrát, a to na riadku 9., 10. a 11. Táto funkcia porovná čísla a vypíše, či je x väčšie, menšie alebo rovné y. Funkciu sme zavolali vždy s inými parametrami a na základe toho nám program vypísal patričné a teda pravdivé vyjadrenia.

Funkcie sú fajn. Môžeme ich volať koľkokrát chceme. Do funkcie môžeme dať skoro hocičo, pokojne aj podmienený výraz.


Pridaj komentár

Vaša e-mailová adresa nebude zverejnená.