Jak utworzyć klasę w Pythonie (programowanie obiektowe)
Dowiedz się, jak utworzyć klasę w Pythonie. Opanuj konstruktora __init__, metody instancji, słowo kluczowe self i tworzenie instancji obiektów.
Przegląd
Programowanie zorientowane obiektowo (OOP) to potężny paradygmat używany do modelowania jednostek w świecie rzeczywistym, strukturyzacji aplikacji i promowania możliwości ponownego użycia kodu. W Pythonie wszystko jest obiektem, a klasy to plany, na podstawie których tworzone są poszczególne obiekty. Tworzenie klasy umożliwia łączenie atrybutów danych i funkcji w jedną całość.
Aby zdefiniować klasę, użyj słowa kluczowego „class”, po którym następuje nazwa klasy (konwencjonalnie zapisana w PascalCase). Wewnątrz klasy najważniejszą metodą jest konstruktor: `__init__(self, ...)`. Ta specjalna magiczna metoda jest wykonywana automatycznie podczas tworzenia instancji klasy, inicjując początkowe atrybuty danych obiektu.
Parametr `self` reprezentuje konkretną instancję klasy, którą aktualnie tworzysz lub modyfikujesz. Każda metoda instancji w klasie musi akceptować „self” jako swój pierwszy argument. Metody instancji to funkcje zdefiniowane wewnątrz klasy, które działają na atrybutach obiektu, umożliwiając czystą hermetyzację logiki.
Dane wyjściowe kodu i wykonania
Ten skrypt demonstruje tworzenie klasy, definiowanie właściwości, metod instancji klasy i tworzenie obiektów.
# 1. Defining a class
class User:
def __init__(self, username, email):
self.username = username
self.email = email
self.active = True # Default attribute
def get_info(self):
status = "Active" if self.active else "Inactive"
return f"User: {self.username} | Email: {self.email} | Status: {status}"
# 2. Instantiating objects of the class
user1 = User("codeguy", "guy@example.com")
user2 = User("pygirl", "girl@example.com")
# 3. Accessing attributes and invoking methods
print(user1.get_info())
print(user2.username, "has email", user2.email)User: codeguy | Email: guy@example.com | Status: Active
pygirl has email girl@example.comWdrażanie krok po kroku
- Użyj słowa kluczowego class, aby zadeklarować szablon klasy.
- Zdefiniuj konstruktor __init__(self, ...), aby skonfigurować początkowe atrybuty.
- Dodaj metody instancji, które akceptują self jako pierwszy parametr do pracy ze stanem obiektu.
- Wywołaj ClassName(...), aby utworzyć instancję i utworzyć nową instancję obiektu.
Często zadawane pytania
Co reprezentuje parametr self?
Odnosi się do konkretnej instancji obiektu, który jest tworzony lub którym manipuluje się. Wymagane jest powiązanie atrybutów z instancją.
Czy klasa może mieć atrybuty wspólne dla wszystkich instancji?
Tak, to są atrybuty klas. Zdefiniuj je bezpośrednio pod nagłówkiem klasy (poza __init__) i uzyskaj do nich dostęp za pomocą ClassName.attribute.
Powiązane tematy
Dowiedz się, jak obsługiwać wyjątki w Pythonie za pomocą bloków try, z wyjątkiem, else i wreszcie. Napisz bezbłędny i odporny na awarie kod w Pythonie.
Jak korzystać ze zrozumienia list w PythonieDowiedz się, jak używać wyrażeń listowych w Pythonie. Twórz zwięzłe pętle, stosuj filtry warunkowe i buduj macierze z przejrzystą składnią wizualną.
Polecane zasoby Pythona
Poszerzaj swoją wiedzę dzięki powiązanym interaktywnym samouczkom, ściągawkom i porównaniom kodów.
Wyjaśnienie zmiennych i typów danych w Pythonie
Zrozumienie zmiennych Pythona i podstawowych typów danych (łańcuchy, liczby całkowite, zmiennoprzecinkowe, wartości logiczne). Kompletny przewodnik dla początkujących dotyczący przydzielania pamięci w Pythonie.
Ściągawka dotycząca metod słownika Pythona
Poznaj metody słownikowe Pythona. Kompletny przewodnik dotyczący wstawiania, pobierania, aktualizacji i sprawdzania par klucz-wartość.
Python kontra JavaScript: który język programowania jest najlepszy?
Kompleksowe porównanie Pythona i JavaScript. Poznaj różnice w składni, wydajność, przypadki użycia (backend vs frontend) i przykłady kodowania.