10. diel - Knižnice math a random
V minulej lekcii, Viacrozmerné polia v Pythone , sme si ukázali, ako na funkcie a základy ošetrovanie chýb. Dnes sa v Python tutoriálu naučíme používať niektoré z knižníc, hlavne tú základnú matematickú.
Knižnice
Knižnice (čiže moduly) nám poskytujú užitočný zdroj dátových typov, funkcií a rôznych nástrojov, pre ešte lepšie programy. Jednoducho nemusíme písať niečo, čo už niekto napísal pred nami. Svoje programy zložíme z existujúcich modulov a ich vývoj bude pohodlnejšie a rýchlejšie.
import
Import knižníc (sprístupnenie knižnice) sa vykonáva pomocou nasledujúcej syntaxe:
Najlepší spôsob:
import nazev_modulu
Potom funkciu z modulu voláme rovnako, ako by to bola metóda modulu:
nazev_modulu.nazev_funkce()
Ak chceme len určitú funkciu, môžeme ju importovať takto:
from nazev_modulu import nazev_funkce
Potom stačí napísať len:
nazev_funkce()
Pre sprístupnenie všetkého z modulu:
from nazev_modulu import *
Toto používajte len ak viete, čo robíte ...
Možno použiť aj aliasy s nasledujúcou syntaxou:
import nazev_modulu as vlastni_nazev
Aliasy sa požívajú pre import modulov z balíčkov. Balíčky sú zoskupenia viacerých modulov.
Moduly sa importujú na začiatku programu!
math
Ako prvý si predstavíme matematickú knižnicu Pythone - math
.
Poďme ju naimportovať:
import math
Modul math
obsahuje dve konštanty - pí a Eulerovo Číslo:
{PYTHON}
import math
print(math.pi)
print(math.e)
{/PYTHON}
Modul nám tiež poskytuje veľmi užitočné funkcie (metódy) pre počítanie. Najzákladnejšie funkcie sú:
sin()
Vráti hodnotu funkcie sínus pre uhol v radiánoch, ktorý odovzdáme ako parameter:
{PYTHON}
import math
print(math.sin(math.pi/2))
{/PYTHON}
cos()
Vráti hodnotu funkcie cosinus pre uhol v radiánoch, ktorý odovzdáme ako parameter:
{PYTHON}
import math
print(math.cos(math.pi))
{/PYTHON}
tan()
Vráti hodnotu funkcie cosinus pre uhol v radiánoch, ktorý odovzdáme ako parameter:
asin()
Vráti uhol v radiánoch pre danú hodnotu, ktorý vznikla z funkcie sínus. Opačná funkcie k sinus, hodnotu odovzdáme v parametri.
acos()
Vráti uhol v radiánoch pre danú hodnotu, ktorý vznikla z funkcie cosinus. Opačná funkcie k cosinus, hodnotu odovzdáme v parametri.
atan()
Vráti uhol v radiánoch pre danú hodnotu, ktorý vznikla z funkcie tangens. Opačná funkcie k tangens, hodnotu odovzdáme v parametri.
degrees()
Vráti hodnotu uhla prevedenú z radiánov na stupne. Parametrom je uhol v radiánoch:
{PYTHON}
import math
print(math.degrees(math.pi))
{/PYTHON}
ceil()
Zaokrúhli číslo na najbližšie celé číslo smerom nahor:
{PYTHON}
import math
print(math.ceil(3.1))
{/PYTHON}
floor()
Zaokrúhli číslo na najbližšie celé číslo smerom nadol:
{PYTHON}
import math
print(math.floor(3.1))
{/PYTHON}
fabs()
Vráti absolútnu hodnotu desatinného čísla. Vstavaná funkcia
abs()
vracia absolútnu hodnotu celého čísla.
{PYTHON}
import math
print(math.fabs(-3.1))
{/PYTHON}
factorial()
Vráti faktoriál daného čísla. Ak je hodnota nečíselné alebo
záporná, vyvolá výnimku ValueError
:
{PYTHON}
import math
print(math.factorial(4))
{/PYTHON}
pow()
Umocní prvé odovzdané číslo na druhé číslo:
{PYTHON}
import math
print(math.pow(2, 3))
{/PYTHON}
sqrt()
Vráti druhú odmocninu z daného čísla:
{PYTHON}
import math
print(math.sqrt(16))
{/PYTHON}
hypot()
Vráti Eukleidovskom vzdialenosť, tj. math.sqrt(x*x + y*y)
:
{PYTHON}
import math
print(math.hypot(3, 4))
{/PYTHON}
log()
Vráti logaritmus čísla o základe, ak je zadaný. Ak nie, vráti hodnotu prirodzeného logaritmu (so základom Eulerova čísla).
{PYTHON}
import math
print(math.log(16, 4))
{/PYTHON}
log10()
Vráti logaritmus o základe 10
z daného čísla:
{PYTHON}
import math
print(math.log10(1000))
{/PYTHON}
log2()
Vráti logaritmus o základe 2
z daného čísla:
{PYTHON}
import math
print(math.log2(32))
{/PYTHON}
A to bol výpočet základných funkcií modulu math
. Ak chcete
ďalšie, stačí napísať help(math)
- pozor - modul
math
musí byť importovaný!
random
Ako druhý modul si predstavíme random
, poďme ho
naimportovať:
import random
Modul random
nám poskytuje mnoho užitočných funkcií. Tieto
funkcie nám umožňujú generovať pseudo-náhodné čísla, miešať zoznamy,
vyberať z nich náhodne prvky a mnoho ďalších. My si predstavíme základné
z nich.
randint()
Vyberie náhodné číslo v rozsahu od prvého do druhého čísla:
{PYTHON}
import random
print(random.randint(1, 4))
print(random.randint(1, 4))
print(random.randint(1, 4))
print(random.randint(1, 4))
{/PYTHON}
choice()
Vyberie náhodný prvok sa zoznamu (alebo iné kolekcie):
{PYTHON}
import random
seznam = [1, 2, 3, 4, 5]
print(random.choice(seznam))
{/PYTHON}
shuffle()
Zamieša poradie prvkov v zozname. Možno použiť aj iný dátový typ, ktorý podporuje priraďovanie. (Zatiaľ iné okrem zoznamu nepoznáme )
{PYTHON}
import random
seznam = [1, 2, 3, 4, 5]
random.shuffle(seznam)
print(seznam)
{/PYTHON}
sample()
Náhodne vyberie množstvo prvkov zo zoznamu. Možno použiť aj inú kolekciu. (Zatiaľ inú okrem zoznamu nepoznáme )
{PYTHON}
import random
seznam = [1, 2, 3, 4, 5]
print(random.sample(seznam, 3))
{/PYTHON}
Easter eggs
Na záver sekcie sa základy Pythone sa pozrieme na veľkonočné vajíčka. To sú skryté a zábavné funkčnosti, ktoré do jazyka schovali jeho tvorcovia. Python ich pár obsahuje Skúste si napísať:
1:
import this
2:
import antigravity
3:
import __hello__
4:
from __future__ import braces
5:
Ďalej si môžete v interaktívnej konzole upraviť:
'>>> '
a
'... '
pomocou:
>>> import sys >>> sys.ps1 = "--> " --> sys.ps2 = "--- " #nasleduje príklad --> if True: --- print("Hello World!") --- --> Hello World!
Tak a to je pre dnešné lekciu všetko a túto sekciu všetko. Kurz teraz pokračuje v sekcii Základy objektovo orientovaného programovania v Pythone. Nabudúce si teda predstavíme objektový svet a pochopíme veľa vecí, ktoré nám boli až doteraz utajované.
V budúcej lekcii, Najčastejšie chyby Python nováčikov - Vieš pomenovať premenné? , si ukážeme najčastejšie chyby začiatočníkov v Pythone ohľadom pomenovanie premenných.