Python, stejně jako většina dalších moderních programovacích jazyků, podporuje objektově orientované programování. To už je poměrně pokročilé programátorské téma. Zde si shrneme jen některé základní pojmy.
Objekt (object) je kolekce dat (proměnných) a metod (funkcí), které s těmito daty pracují. V Pythonu jsou téměř všechna data, se kterými se setkáme, objekty (čísla, řetězce, seznamy, …).
Objekty jsou speciální instance tříd (class). Třídu můžeme chápat jako obecný vzor, podle kterého se tvoří objekty.
Příklad definice třídy:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def introduce(self):
print("My name is ", self.name)
print("I am ", self.age, "years old")
A takto vytvoříme objekty (instance třídy) a použijeme je:
homer = Person("Homer Simpson", 39)
bart = Person("Bart Simpson", 10)
homer.introduce()
bart.introduce()
V tomto příkladě:
Person
je třída,homer
abart
jsou objekty,name
aage
jsou datové atributy,introduce()
je metoda,__init__
je inicializační metoda, která se automaticky volá při vytváření objektu.

Rozhodovačka
Rychlé procvičování výběrem ze dvou možností.

Objekty v Pythonu (střední)
13 zadání
Typicky zabere: 6 min
Ukázka
Co vypíše program?class Animal:
def __init__(self, name, legs):
self.name = name
self.legs = legs
animals = [Animal("dog", 4),
Animal("chicken", 2),
Animal("cat", 4),
Animal("fish", 0)]
for x in animals:
if x.legs > 2:
print(x.name)
Co platí o následujícím programu?class Person:
def __init__(self, name):
self.name = name
def describe(self):
print(self.name)
tom = Person("Tom")
tom.describe()
Co vypíše program?class Book:
def __init__(self, title, price):
self.title = title
self.price = price
def increase_price(x):
self.price += x
book = Book("Hobbit", 250)
book.increase_price(30)
print(book.price)

Porozumění
Prohlédněte si vypracované řešení příkladů v Pythonu či ukázkové modely. Pro každý příklad dostanete několik kontrolních otázek, které otestují vaše porozumění problému.
Objekty v Pythonu
Řešené příklady na práci s objekty v Pythonu.