pip a virtuálne prostrediaPython patrí medzi najpopulárnejšie programovacie jazyky na svete. Je obľúbený najmä vďaka svojej jednoduchej syntaxi, čitateľnosti a širokému spektru využitia.
Python je:
Interpretovaný jazyk (Python) Kód sa vykonáva riadok po riadku pomocou interpretera.
Prekladaný jazyk (C, C++) Kód sa najprv preloží do strojového kódu a potom spúšťa.
👉 Výhoda Pythonu: rýchly vývoj
👉 Nevýhoda: "nižší" výkon oproti prekladaným jazykom
V Pythone vieme jednoducho zavolať knižnicu napísanú v C/C++ a využiť jej rýchlosť.
meno = "Python"
def pozdrav(meno):
return f"Ahoj {meno}"
pozdrav(meno)
Ďalšie čítanie: Dive Into Python 3 – Your First Python Program
Python je dynamicky typovaný jazyk, čo znamená:
Základné typy:
Ďalšie čítanie: Dive Into Python 3 – Native Datatypes
del – odstránenie premennejPython automaticky spravuje pamäť pomocou garbage collectora:
Voliteľné označenie typov pre lepšiu čitateľnosť:
def add(a: int, b: int) -> int:
c : int = 5
return a + b + c
https://typing.python.org/en/latest/spec/annotations.html
Reťazec je nemenná sekvencia znakov UTF8.
text = "Ahoj slniečko"
a = "Hello"
b = "World"
print(a + " " + b) # spájanie
print(a * 3) # opakovanie
text = "Python"
print(text[0]) # P
print(text[-1]) # n
print(len(text)) # dĺžka
print(text[0:3]) # Slicing
vek = input("Zadaj vek: ") # vek je reťazec
print(f"Tvoj vek je {vek}") # šablóna nového reťazca
vek = int(vek) # konverzia na celé číslo
print(f"Tvoj vek o rok bude {vek + 1}")
V Pythone je všetko objekt - ku objektom existujú metódy.
text = " python "
print(text.upper()) # PYTHON
print(text.lower()) # python
print(text.strip()) # odstráni medzery
print(text.replace("p", "P"))
https://docs.python.org/3/library/stdtypes.html#string-methods
Postupne načítanie riadkov zo štandardného vstupu (klávesnica alebo presmerovanie) až do konca súboru.
import sys
for line in sys.stdin:
print("Zapísal si:")
print(line.rstrip())
'with' vytvára nový kontext. Kontext sa automaticky uzavrie po skončení bloku.
open funguje podobne ako v C
"r" – čítanie (read)"w" – zápis (write)"a" – pripísanie (append)with open("subor.txt", "r") as f:
for line in f:
print(line.rstrip())
Ďalšie čítanie: Dive Into Python 3 – Files
Kolekcie slúžia na uchovávanie viacerých hodnôt v jednej premennej.
Ďalšie čítanie: Dive Into Python 3 – Native Datatypes
Zoznam je usporiadaná kolekcia prvkov.
numbers = [1, 2, 3, 4]
names = ["Anna", "Peter", "Ján"]
numbers.append(5) # pridanie
numbers.remove(2) # odstránenie
print(numbers[0]) # prístup k prvku
Slovník ukladá dáta ako dvojice kľúč → hodnota.
person = {
"meno": "Ján",
"vek": 25
}
print(person["meno"])
Množina obsahuje iba unikátne prvky.
nums = {1, 2, 2, 3}
print(nums) # {1, 2, 3}
a = {1, 2, 3}
b = {2, 3, 4}
print(a & b) # prienik → {2, 3}
print(a | b) # zjednotenie → {1, 2, 3, 4}
for n in numbers:
print(n)
for meno,vyska in ludia.items():
print(f"{meno} ma {vyska} cm")
for key, value in person.items():
print(key, value)
squares = [x**2 for x in range(5)]
Výsledok:
[0, 1, 4, 9, 16]
even = [x for x in range(10) if x % 2 == 0]
Ďalšie čítanie: Dive Into Python 3 – Comprehensions
Podobné ako list comprehension, ale pre slovníky.
squares = {x: x**2 for x in range(5)}
Výsledok:
{0: 0, 1: 1, 2: 4, 3: 9, 4: 16}
Ďalšie čítanie: Dive Into Python 3 – Comprehensions
Python umožňuje organizovať kód pomocou:
import math
print(math.sqrt(16))
Jeden balíček môže obsahovať viacero modulov. Môžeme importovať celý balíček alebo len konkrétny modul.
Po importovaní je modul dostupný cez jeho názov ako globálna premenná
import math # celý balíček alebo modul
from math import sqrt # len konkrétnu funkciu z modulu alebo balíčka
import math as m # pridelím alias pre modul
from collections import Counter # import konkrétnej triedy z modulu
from os.path import join # Modul môže obsahovať viacero podmodulov, ktoré je možné importovať samostatne
Modul je obyčajný .py súbor.
Súbor utils.py:
def add(a, b):
return a + b
Použitie v inom súbore:
from utils import add
print(add(2, 3))
Balíček je adresár s viacerými modulmi.
project/
├── main.py
└── helpers/
├── __init__.py
├── math_utils.py
└── text_utils.py
Import:
from helpers.math_utils import add
Ďalšie čítanie: Dive Into Python 3 – Packaging Python Libraries
Python nie je len jazyk, ale aj rozsiahly ekosystém nástrojov a knižníc. Obsahuje tisíce balíčkov, ktoré riešia prakticky každý problém – od práce s dátami až po vývoj umelej inteligencie.
pip?pip je správca balíčkov pre Python.
Používa sa na inštalovanie knižníc z Python Package Indexu (PyPI).
python -m pip install requests
pipBalíčky je možné zdieľať a inštalovať pomocou pip.
python -m pip install requests
python -m pip uninstall requests
python -m pip list
python -m pip show requests
Odporúčanie:
python -m pip, aby bolo jasné, ku ktorému Pythonu balíčky patriaVirtuálne prostredie je oddelené miesto pre balíčky jedného projektu.
Prečo ho používať?
python -m venv .venv
Aktivácia na Linuxe/macOS:
source .venv/bin/activate
Aktivácia vo Windows PowerShell:
.venv\Scripts\Activate.ps1
Po aktivovaní virtuálneho prostredia:
python -m pip install requests
Uloženie zoznamu závislostí:
python -m pip freeze > requirements.txt
Inštalácia závislostí v inom prostredí:
python -m pip install -r requirements.txt
Ďalšie informácie a úplný referenčný manuál:
https://docs.python.org/3/
python -m venv .venv
source .venv/bin/activate
python -m pip install requests
python main.py
Štruktúra:
project/
├── .venv/
├── main.py
└── requirements.txt
Adresár .venv/ sa zvyčajne neukladá do gitu.