logo

Klasy i obiekty w Pythonie

Python to obiektowy język programowania oferujący klasy, które są potężnym narzędziem do pisania kodu wielokrotnego użytku. Do opisu obiektów o wspólnych cechach i zachowaniach wykorzystuje się klasy. W tym artykule przeanalizujemy koncepcje klas i obiektów Pythona.

Klasy w Pythonie:

W Pythonie klasa jest typem danych zdefiniowanym przez użytkownika, który zawiera zarówno same dane, jak i metody, których można użyć do manipulowania nimi. W pewnym sensie klasy służą jako szablon do tworzenia obiektów. Zapewniają charakterystykę i operacje, które będą stosowane na obiektach.

Załóżmy, że klasa jest prototypem budynku. Budynek zawiera wszystkie szczegóły dotyczące podłogi, pomieszczeń, drzwi, okien itp. Na podstawie tych szczegółów możemy zbudować dowolną liczbę budynków. Zatem budynek można postrzegać jako klasę i możemy stworzyć dowolną liczbę obiektów tej klasy.

Tworzenie klas w Pythonie

W Pythonie klasę można utworzyć za pomocą słowa kluczowego class, po którym następuje nazwa klasy. Poniżej podana jest składnia tworzenia klasy.

Składnia

 class ClassName: #statement_suite 

W Pythonie musimy zauważyć, że każda klasa jest powiązana z ciągiem dokumentacji, do którego można uzyskać dostęp za pomocą .__doc__. Klasa zawiera zestaw instrukcji obejmujący pola, konstruktor, funkcję itp. Definicję.

Przykład:

Kod:

 class Person: def __init__(self, name, age): # This is the constructor method that is called when creating a new Person object # It takes two parameters, name and age, and initializes them as attributes of the object self.name = name self.age = age def greet(self): # This is a method of the Person class that prints a greeting message print('Hello, my name is ' + self.name) 

Imię i wiek to dwie właściwości klasy Person. Dodatkowo posiada funkcję o nazwie greet, która wyświetla powitanie.

Obiekty w Pythonie:

Obiekt to konkretna instancja klasy o unikalnych cechach i funkcjach. Po ustaleniu klasy możesz tworzyć na jej podstawie obiekty. Używając konstruktora klasy, możesz stworzyć obiekt klasy w Pythonie. Atrybuty obiektu są inicjowane w konstruktorze, co jest specjalną procedurą o nazwie __init__.

kw. 4 miesiące

Składnia:

 # Declare an object of a class object_name = Class_Name(arguments) 

Przykład:

Kod:

 class Person: def __init__(self, name, age): self.name = name self.age = age def greet(self): print('Hello, my name is ' + self.name) # Create a new instance of the Person class and assign it to the variable person1 person1 = Person('Ayan', 25) person1.greet() 

Wyjście:

 'Hello, my name is Ayan' 

Parametr własny

Parametr self odnosi się do bieżącej instancji klasy i zapewnia dostęp do zmiennych klasy. Zamiast self możemy użyć czegokolwiek, ale musi to być pierwszy parametr dowolnej funkcji należącej do klasy.

_ _init_ _ metoda

Aby utworzyć instancję klasy w Pythonie, wywoływana jest określona funkcja o nazwie __init__. Chociaż służy do ustawiania atrybutów obiektu, często nazywany jest konstruktorem.

bash, pętla while

Argument własny jest jedynym wymaganym przez metodę __init__. Argument ten odnosi się do nowo wygenerowanej instancji klasy. Aby zainicjować wartości każdego atrybutu powiązanego z obiektami, możesz zadeklarować dodatkowe argumenty w metodzie __init__.

Zmienne klas i instancji

Wszystkie instancje klasy wymieniają zmienne klasowe. Działają niezależnie od jakichkolwiek metod klasowych i można uzyskać do nich dostęp poprzez użycie nazwy klasy. Oto ilustracja:

Kod:

 class Person: count = 0 # This is a class variable def __init__(self, name, age): self.name = name # This is an instance variable self.age = age Person.count += 1 # Accessing the class variable using the name of the class person1 = Person('Ayan', 25) person2 = Person('Bobby', 30) print(Person.count) 

Wyjście:

 2 

Natomiast zmienne instancji są specyficzne dla każdej instancji klasy. Są one określane przy użyciu argumentu własnego w metodzie __init__. Oto ilustracja:

Kod:

 class Person: def __init__(self, name, age): self.name = name # This is an instance variable self.age = age person1 = Person('Ayan', 25) person2 = Person('Bobby', 30) print(person1.name) print(person2.age) 

Wyjście:

 Ayan 30 

Zmienne klasowe są tworzone niezależnie od metod klasowych i są współdzielone przez wszystkie kopie klas. Każda instancja klasy ma swoje własne zmienne instancji, które są określone w metodzie __init__ wykorzystującej argument własny.

Wniosek:

Podsumowując, pojęcia klas i obiektów w Pythonie to mocne pomysły, które pozwalają pisać programy wielokrotnego użytku. Możesz połączyć informacje i możliwości w jedną całość, która może zostać wykorzystana do zbudowania wielu obiektów poprzez ustanowienie klasy. Używając notacji kropkowej, możesz uzyskać dostęp do metod i właściwości obiektu po jego utworzeniu. Możesz opracować bardziej logiczny, efektywny i łatwiejszy w zarządzaniu kod, poznając klasy i obiekty Pythona.