2. diel - Premenné, základné dátové typy a funkcie
V minulej lekcii, Úvod do Pythonu , sme si povedali niečo o tomto jazyku, ukázali IDLE a naučili sme sa základné matematické operátory. V dnešnom tutoriále si ukážeme premenné, základné dátové typy a napíšeme si prvé konzolové aplikácie. Samozrejme nebude chýbať cvičenie
Typový systém
Existujú dva základné typové systémy: statický a dynamický.
- Dynamický typový systém nás plne odtieňuje od toho, že premenná má vôbec nejaký dátový typ. Ona ho samozrejme vnútorne má, ale jazyk to nedáva najavo. Dynamické typovanie ide mnohokrát tak ďaleko, že premenné nemusíme ani deklarovať, akonáhle do nejakej premennej niečo uložíme a jazyk zistí, že nebola nikdy deklarovaná, sám ju založí. Do tej istej premennej môžeme ukladať text, potom objekt používateľa a potom desatinné číslo. Jazyk sa s tým sám pobije a vnútorne automaticky mení dátový typ. V týchto jazykoch ide vývoj rýchlejšie vďaka menšiemu množstvo kódu, zástupcovia sú napr. PHP alebo Ruby.
- Statický typový systém naopak striktne vyžaduje definovať typ premennej a tento typ je ďalej nemenný. Akonáhle premennú raz deklarujeme, nie je možné jej dátový typ zmeniť. Akonáhle sa do textového reťazca pokúsime uložiť objekt užívateľ, dostaneme vynadané.
Python je dynamicky typizovanom jazyk, premenné nemusíme deklarovať s ich dátovým typom. Vďaka tomu je vývoj v jazyku rýchlejší a jazyk sa zo začiatku lepšie osvojuje.
Premenné
V Pythone sú premenné brané ako odkazy na objekty, vďaka čomu ich môžeme používať vo funkciách a volať na nich metódy (ukážeme si neskôr). Premenná nám väčšinou uchováva nejakú hodnotu určitého (dátového) typu.
Základné dátové typy
Celé číslo
Anglicky integer, skratka int
- uchováva v pamäti celé
číslo, ktorého veľkosť je limitovaná len pamäťou počítača.
Desatinné číslo
Anglicky floating point number, skratka float
- uchováva v
pamäti desatinné číslo, nie je však neobmedzene presné. U desatinných
čísel sa nepíše čiarka, ale bodka. Čísla začínajúce nulou sa dajú
písať bez nuly. Napr. 0.25
sa dajú písať ako
.25
.
Reťazec
Anglicky string, skratka str
- uchováva v pamäti reťazec
(sled znakov - napr. Slovo). Definuje sa tak, že sa výraz, ktorý uchováva,
zapíše do úvodzoviek. Buď jednoduchých ' '
, alebo do
dvojitých " "
.
Dátové typy deklarovať nemusíme, ak nechceme nejaké špeciálne.
Hodnoty uložené v premenných
Teraz si otvorte pythonovskou konzolu alebo IDLE. Vytvoríme si našu prvú premennú:
>>> a = 1
Máme a
, čo je odkaz na objekt s hodnotou 1
.
Skúsime zvýšiť hodnotu premennej o 1
:
>>> a = a + 1
A teraz vypíšeme hodnotu a
:
>>> a
2
Premenných môžeme i viac. Pridáme si premennú b
.
>>> b = 3
A teraz vydelíme b
premennú a
a to celé
uložíme do c
:
>>> c = b / a
Koľko je c
?
>>> c
1.5
Niekoho z vás možno napadne, že c
nebude celé číslo.
Python si určí, akého typu bude premenná. Zistiť typ premennej môžeme
funkcií type()
:
>>> type(c) <class 'float'>
Premenná c
je desatinné číslo!
Veľkosť písmen
Teraz ešte vsuvka ohľadom veľkosti písmen:
>>> a = 1 >>> A = 2 >>> a 1 >>> A 2
Python na rozdiel od niektorých iných jazykov, rozlišuje veľkosť
písmen pri premenných, takže a
a A
sú
úplne iné premenné!
Hello World!
V takmer každom jazyku je prvá aplikácia Hello World! - čiže Ahojte všetci! My si ju tiež vytvoríme. Otvorte si IDLE -> ďalej potom file -> New File (alebo môžete stlačiť Ctrl + N). Vyskočí vám nové okno. Tam zapíšeme nasledujúci kód, ktorý si hneď vysvetlíme:
#!/usr/bin/env python3
print("Hello world!")
input()
Prvý riadok je komentár, ktorý zároveň slúži na spustenie interpretu
(Pythone) na unixových systémoch. Komentár začína #
a Python
ďalej ignoruje čo je za ním (na riadku). Potom nasleduje medzera pre
prehľadnosť. Na ďalšej riadku je funkcia print()
. Táto funkcia
zobrazí reťazec alebo číslo v konzole. Ďalšou je funkcia
input()
, ktorá prijíma vstup od užívateľa ako reťazec (v
tomto prípade čaká na stlačenie klávesy, inak by sa okno okamžite
zavrelo).
Ak program spustíte, dostanete toto:
Konzolová aplikácia
Hello world!
Teraz skúste zapísať do vášho nového programu tento kód a ten potom uložte a spustite:
#!/usr/bin/env python3
print("Ja som prvý riadok.")
print("A ja druhá.")
input()
výstup:
Konzolová aplikácia
Ja som prvý riadok.
A ja druhá.
Máte menší problém. Funkcia print()
po vypísaní textu
ukončí riadok. Ak by ste chceli ďalší výstup "vytlačiť" na ten samý
riadok, tak máte (zatiaľ) smolu. Neskôr si ukážeme, ako si prispôsobiť
funkciu print()
k obrazu svojmu. Funkcia print()
ale
dokáže vypísať viac textu naraz, stačí oddeliť text čiarkou:
#!/usr/bin/env python3
print("Ja som prvá časť textu", "a ja druhá!")
input()
Teraz si ukážeme, že aj reťazce dá "sčítať":
#!/usr/bin/env python3
print("Ja som prvá časť textu" + " " + "a ja druhá!")
input()
Výstup do konzoly je zakaždým rovnaký a vyzerá takto:
Konzolová aplikácia
Ja som prvá časť textu a ja druhá!
Papagáj
Minulý program bol trochu nudný, skúsme nejako reagovať na vstup od užívateľa. Napíšeme program papagáj, ktorý bude dvakrát opakovať to, čo používateľ napísal. Ešte sme neskúšali z konzoly nič načítavať, ale je to veľmi jednoduché. Skúsme si napísať nasledujúci kód:
#!/usr/bin/env python3
print("Ahoj, som virtuálne papagáj Lora, rád opakujem!")
slovo = input("Napíš niečo: ") #získa od užívateľa vstup a uloží ho do premennej
vysledek = slovo + " " + slovo # vytvorí novú premennú
print(vysledek)
input()
Tu je ukážka:
Konzolová aplikácia
Ahoj, som virtuálne papagáj Lora, rád opakujem!
Napíš niečo: Nazdar vtákovi!
Nazdar vtákovi! Nazdar vtákovi!
Parsovanie
Funkcia input()
vracia reťazec. Ale čo keď potrebujeme
dostať od užívateľa napríklad číslo?
Musíme vykonať tzv. Parsovanie. Číslo vytvoríme z reťazca (alebo z
niečoho iného) pomocou vstavanej funkcie int()
. Naopak môžeme
previesť číslo (alebo niečo iné - napr. Desatinné číslo) na reťazec
pomocou funkcie str()
. A teraz praxe:
Program zdvojnásobovač
#!/usr/bin/env python3
print("Zdvojnásobovač!")
cislo = int(input("Zadajte číslo: ")) # reťazec z input () sa prevedie na celé číslo
print("Jeho dvojnásobok je:", 2 * cislo)
input()
Tu je príklad:
Konzolová aplikácia
Zdvojnásobovač!
Zadajte číslo:
3
Jeho dvojnásobok je: 6
Kalkulačka
Teraz si vytvoríme konzolovú aplikáciu, ktorá dokáže sčítať, odčítať, násobiť a deliť dve čísla.
#!/usr/bin/env python3
print("Vitajte v kalkulačke\n")
prvni_cislo = float(input("Zadajte prvé číslo: "))
druhe_cislo = float(input("Zadajte druhé číslo: "))
print("Súčet:", prvni_cislo + druhe_cislo)
print("Rozdiel:", prvni_cislo - druhe_cislo)
print("Súčin:", prvni_cislo * druhe_cislo)
print("Podiel:", prvni_cislo / druhe_cislo)
input("\nĎakujem za použitia kalkulačky, aplikáciu ukončíte ľubovoľnou klávesou.")
Znak \n
v texte spôsobí, že sa text odřádkuje. To znamená,
že text za týmto znakom sa zobrazí na ďalšie riadku (v tomto prípade sa
urobí prázdny riadok, keďže za týmto znakom nič nenasleduje).
Ak budete mať v Pythone viacslovné názvy premenných, odporúča sa oddeľovať názvy podčiarknikom.
Teraz si ukážeme, ako kalkulačka vyzerá:
Konzolová aplikácia
Vitajte v kalkulačke
Zadajte prvé číslo:
3
Zadajte druhé číslo:
2
Súčet: 5
Rozdiel: 1
Súčin: 6
Podiel: 1.5
Ďakujem za použitia kalkulačky, aplikáciu ukončíte ľubovoľnou klávesou.
Tak a to je pre túto lekciu všetko. V lekcii budúci, Riešené úlohy k 1. a 2. lekcii Pythone , sa pozrieme
na vetvenie programu pomocou if
, elif
a
else
; výraz in a ďalej si ukážeme boolovských hodnôt,
logické operátory a napíšeme si pár ďalších programov.
V nasledujúcom cvičení, Riešené úlohy k 1. a 2. lekcii Pythone, si precvičíme nadobudnuté skúsenosti z predchádzajúcich lekcií.
Mal si s čímkoľvek problém? Stiahni si vzorovú aplikáciu nižšie a porovnaj ju so svojím projektom, chybu tak ľahko nájdeš.
Stiahnuť
Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkami
Stiahnuté 949x (573 B)
Aplikácia je vrátane zdrojových kódov v jazyku Python