Python prichádza s bohatou zbierkou vstavaných funkcií — nástrojov, ktoré môžeš okamžite použiť bez akéhokoľvek importovania. Sú to "skratky", ktoré ti ušetria veľa času.
Vstup a výstup
Dve najzákladnejšie vstavané funkcie:
meno = input("Ako sa voláš? ") # prečíta text od používateľa
print(f"Ahoj, {meno}!") # vypíše text na obrazovku
input() vždy vracia reťazec. Ak chceš číslo, musíš ho konvertovať:
vek = int(input("Koľko máš rokov? "))
vyska = float(input("Aká je tvoja výška v cm? "))
Matematické funkcie
print(abs(-7)) # 7 — absolútna hodnota
print(round(3.7)) # 4 — zaokrúhlenie
print(round(3.14159, 2)) # 3.14 — zaokrúhlenie na 2 desatinné miesta
print(max(3, 7, 2, 9)) # 9 — najväčšia hodnota
print(min(3, 7, 2, 9)) # 2 — najmenšia hodnota
print(sum([1, 2, 3, 4])) # 10 — súčet prvkov zoznamu
print(pow(2, 8)) # 256 — umocnenie
max() a min() fungujú aj so zoznamami: max([5, 2, 8, 1]) vráti 8. Tiež fungujú s reťazcami — porovnávajú podľa abecedy.
Funkcie pre typy a konverziu
print(type(42)) # <class 'int'>
print(type("ahoj")) # <class 'str'>
print(type(3.14)) # <class 'float'>
print(type(True)) # <class 'bool'>
# Konverzia typov
print(int("42")) # 42 — reťazec na celé číslo
print(float("3.14")) # 3.14 — reťazec na desatinné číslo
print(str(100)) # "100" — číslo na reťazec
print(bool(0)) # False — nula je nepravda
print(bool(5)) # True — nenulové číslo je pravda
Funkcie pre zoznamy a postupnosti
cisla = [3, 1, 4, 1, 5, 9, 2, 6]
print(len(cisla)) # 8 — počet prvkov
print(sorted(cisla)) # [1, 1, 2, 3, 4, 5, 6, 9] — zoradené
print(list(range(5))) # [0, 1, 2, 3, 4] — zoznam z range
print(reversed([1,2,3])) # iterátor pozadu (použi list() na zobrazenie)
len() funguje na reťazcoch, zoznamoch, n-ticiach a slovníkoch. Je to jedna z najpoužívanejších vstavaných funkcií.
Funkcia print() — viac možností
print() má niekoľko užitočných parametrov:
print("A", "B", "C") # A B C (oddelené medzerou)
print("A", "B", "C", sep="-") # A-B-C (vlastný oddeľovač)
print("Prvý riadok", end="") # bez nového riadku na konci
print(" — pokračovanie") # na tom istom riadku
Funkcia range()
Technicky je range() trieda, ale používa sa ako funkcia na generovanie postupností čísel:
print(list(range(5))) # [0, 1, 2, 3, 4]
print(list(range(2, 8))) # [2, 3, 4, 5, 6, 7]
print(list(range(0, 10, 2))) # [0, 2, 4, 6, 8]
Ďalšie užitočné funkcie
print(id(x)) # pamäťová adresa objektu (na ladenie)
print(isinstance(42, int)) # True — je 42 celé číslo?
print(dir([])) # vypíše všetky metódy zoznamu
print(help(print)) # zobrazí dokumentáciu funkcie print
Python má ešte oveľa viac vstavaných funkcií a modulov (math, random, os...). Pred tým, ako napíšeš vlastnú funkciu na niečo bežné, overiš, či Python už takú nemá — ušetríš čas a pravdepodobne dostaneš aj rýchlejšie riešenie.
Cvičné príklady
Aký je výstup tohto kódu? print(max(len('python'), len('java'), len('c++')))
Zobraziť odpoveď
Napíš jeden riadok kódu, ktorý prečíta číslo od používateľa, zaokrúhli ho na najbližšie celé číslo a vypíše výsledok.