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.
Vysvětlení mi pomohlo Vysvětlení mi nepomohlo

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

Objekty v Pythonu (střední)
13 Zadání
Typicky zabere: 8 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 vypíše program?class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def describe(self):
print(self.name, self.age)
tom = Person("Tom", 23)
alice = Person("Alice", 18)
tom.name = "Thomas"
alice.describe()
tom.describe()
Které z následujících tvrzení je pravdivé?
Porozumění programům
Prohlédněte si vypracované řešení příkladů v Pythonu. Pro každý ukázkový program dostanete několik kontrolních otázek, které testují schopnost číst zdrojový kód a porozumět mu.