Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

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é 937x (573 B)
Aplikácia je vrátane zdrojových kódov v jazyku Python

 

Predchádzajúci článok
Úvod do Pythonu
Všetky články v sekcii
Základné konštrukcie jazyka Python
Preskočiť článok
(neodporúčame)
Riešené úlohy k 1. a 2. lekcii Pythone
Článok pre vás napísal gcx11
Avatar
Užívateľské hodnotenie:
69 hlasov
(^_^)
Aktivity