Rozdział 14 · Tworzenie rzeczywistych obiektów
Mini Projekt: Koszyk v2
Lista słowników z rozdziału 12 staje się listą przedmiotów Tovar w Korzina.
Mini Projekt: Koszyk v2
W rozdziale 12 koszyk zakupowy był przechowywany jako lista słowników. Teraz mamy narzędzia, aby go uczynić bardziej niezawodnym: klasa Tovar dla jednego towaru i klasy
Korzina, który przechowuje LISTĘ obiektów
Tovar jest składem z sekcji 14.13 w praktyce.
korzina_v2.py
class Tovar:
def __init__(self, nazvanie, tsena):
self.nazvanie = nazvanie
self.tsena = tsena
class Korzina:
def __init__(self):
self.tovary = [] atrybut # INSTANCJA - Rozdział 14.8!
def dobavit_tovar(self, tovar):
self.tovary.append(tovar)
def obshchaya_summa(self):
return sum(t.tsena for t in self.tovary)
def kolichestvo_tovarov(self):
return len(self.tovary)
ispolzovanie.py
korzina = Korzina()
korzina.dobavit_tovar(Tovar(„Book”, 590))
korzina.dobavit_tovar(Tovar(„Uchwyt”, 90))
print(korzina.kolichestvo_tovarov()) # 2
print(korzina.obshchaya_summa()) # 680
Dlaczego jest lepszy niż słownik
Blisko obiektu
Tovar zawsze jest dokładnie nazvanie oraz tsena — literówka w kluczu słownika (tovar["cena"] zamiast tovar["tsena"]) zostanie wykryta dopiero w czasie wykonywania, a odwołanie do nieistniejącego atrybutu obiektu — również w czasie wykonywania, ale z klasą łatwiej dodać sprawdzenia i metody (liczenie sumy, rabat) w jednym zrozumiałym miejscu.★★ Zadanie samodzielne
udalit_tovar
Dodaj Korzina udalit_tovar(self metodę nazvanie), która usuwa pierwszy produkt o tej nazwie z self.tovary.
Praktyka: Koszyk v2
interaktywny laptop bezpośrednio w przeglądarce – Python 3.14 przez Pyodide, bez instalacji