Metody
Część sekcji Programowanie obiektowe ścieżki Python w Coddy. Lekcja 5 z 64.
Metody to funkcje należące do klasy. Określają zachowania lub działania, które mogą wykonywać obiekty.
Oto przykład klasy z metodami:
class Calculator:
def greet(self):
print("Hello! I'm a calculator.")
def add(self, a, b):
return a + b
def multiply(self, x, y):
result = x * y
print(f"{x} × {y} = {result}")
return resultUtwórz obiekt kalkulatora:
my_calc = Calculator()Wywołaj metodę, która nie wymaga parametrów:
my_calc.greet()Wywołuj metody z parametrami:
sum_result = my_calc.add(5, 3)
print(sum_result)Wywołaj metodę, która zarówno wyświetla, jak i zwraca wartość:
product = my_calc.multiply(4, 7)Wynik:
Hello! I'm a calculator.
8
4 × 7 = 28Metody mogą:
- Przyjmować parametry, takie jak
add(self, a, b) - Zwracać wartości, takie jak
return a + b - Bezpośrednio wyświetlać wynik, na przykład
print("Hello!") - Jednocześnie wyświetlać i zwracać wynik
Najważniejsze: Metody określają, co mogą robić Twoje obiekty. Zawsze umieszczaj self jako pierwszy parametr, ale nie przekazuj go podczas wywoływania metody.
Wyzwanie
ŁatwyW tym wyzwaniu zaimplementujesz system bankowy. Utworzysz klasę BankAccount w jednym pliku i użyjesz jej w innym, pokazując, jak organizować kod, aby łatwiej go utrzymywać.
Musisz pracować z dwoma plikami:
- bank_account.py: tutaj zdefiniujesz klasę
BankAccount - driver.py: tutaj zaimportujesz klasę, utworzysz konto i wykonasz transakcje
Utwórz klasę BankAccount w pliku bank_account.py, zawierającą:
- Atrybut klasy
bank_nameo wartości "Python National Bank" - Metodę
deposit, która przyjmuje kwotę i dodaje ją do salda konta - Metodę
withdraw, która przyjmuje kwotę i odejmuje ją od salda - Metodę
get_balance, która zwraca bieżące saldo
Następnie w pliku driver.py zaimportuj klasę BankAccount, utwórz konto, wpłać 100 $, wypłać 30 $ i wyświetl saldo w formacie: f"Current balance: ${my_account.get_balance()}"
Spróbuj swoich sił
from bank_account import BankAccount
# Utwórz konto i przetestuj swoje metody
my_account = BankAccount()
my_account.balance = 0 # Saldo początkowe
# TODO: Wykonaj transakcje
# (Tutaj wpisz swój kod)
# TODO: Wyświetl saldo końcowe
# (Tutaj wpisz swój kod)Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Programowanie obiektowe
1Podstawy programowania obiektowego
Pliki zewnętrzneWprowadzenie do programowania obiektowegoKlasy a obiektyParametr selfMetodyAtrybutyMetoda konstruktora (__init__)Powtórzenie – prosty kalkulator4Dziedziczenie
Podstawy dziedziczeniaFunkcja super()Nadpisywanie metodDziedziczenie wielokrotneKolejność rozwiązywania metodPodsumowanie – hierarchia pracowników7Metody specjalne
Wprowadzenie do metod magicznychPrzeciążanie operatorówMagiczne metody kontenerówPowtórka – własna lista10Wzorce projektowe, część 1
Wprowadzenie do wzorców projektowychWzorzec SingletonWzorzec FactoryWzorzec ObserverWzorzec Strategy2Dekoratory
Wprowadzenie do dekoratorówDekorator propertyDekorator metody statycznejDekorator metody klasowej5Polimorfizm
Ponowne omówienie nadpisywania metodTypowanie kaczeKlasy i metody abstrakcyjneProjektowanie interfejsówPodsumowanie — kalkulator kształtów8Zaawansowane koncepcje programowania obiektowego
Kompozycja a dziedziczenieMiksyMetody statyczne i klasoweDekoratory klasMenedżery kontekstu11Wzorce projektowe, część 2
Wzorzec PolecenieWzorzec AdapterWzorzec DekoratorWzorzec Metoda szablonowaWzorzec StanWzorzec Kompozyt3Właściwości klas
Zmienne instancji a zmienne klasoweDekoratory właściwościAtrybuty prywatnePowtórzenie — menedżer kont bankowych6Hermetyzacja
Public, Protected, Private — pamięćModyfikatory dostępuUkrywanie informacjiDekoratory właściwości — zaawansowanePodsumowanie — system ewidencji uczniów12Projekt: System zarządzania biblioteką
Przegląd projektuKlasy Book i UserSystem wypożyczeńFunkcja wyszukiwaniaInterfejs administratoraTestowanie i integracjaPoćwicz samodzielnie: Kompilator Python online