logo

Klase i objekti u Pythonu

Python je objektno orijentirani programski jezik koji nudi klase, koje su moćan alat za pisanje koda za višekratnu upotrebu. Za opisivanje objekata sa zajedničkim karakteristikama i ponašanjem, koriste se klase. U ovom ćemo članku ispitati Pythonove ideje klasa i objekata.

Klase u Pythonu:

U Pythonu, klasa je korisnički definirana vrsta podataka koja sadrži i same podatke i metode koje se mogu koristiti za manipuliranje njima. U određenom smislu, klase služe kao predložak za stvaranje objekata. Oni daju karakteristike i operacije koje će objekti koristiti.

Pretpostavimo da je klasa prototip zgrade. Zgrada sadrži sve detalje o podu, sobama, vratima, prozorima itd. Na temelju tih detalja možemo napraviti koliko god želimo zgrada. Dakle, zgradu možemo promatrati kao klasu i možemo kreirati onoliko objekata te klase.

Stvaranje klasa u Pythonu

U Pythonu se klasa može stvoriti korištenjem ključne riječi class, iza koje slijedi naziv klase. Sintaksa za stvaranje klase je dana u nastavku.

Sintaksa

 class ClassName: #statement_suite 

U Pythonu moramo primijetiti da je svaka klasa povezana s dokumentacijskim nizom kojem se može pristupiti korištenjem .__doc__. Klasa sadrži skup izjava uključujući polja, konstruktor, funkciju itd. definiciju.

duljina java niza

Primjer:

Kodirati:

 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) 

Ime i dob dva su svojstva klase Osoba. Osim toga, ima funkciju koja se zove greet koja ispisuje pozdrav.

Objekti u Pythonu:

Objekt je određena instanca klase s jedinstvenim karakteristikama i funkcijama. Nakon što je klasa uspostavljena, možete izraditi objekte temeljene na njoj. Korištenjem konstruktora klase možete stvoriti objekt klase u Pythonu. Atributi objekta se inicijaliziraju u konstruktoru, koji je posebna procedura pod nazivom __init__.

Sintaksa:

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

Primjer:

Kodirati:

 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() 

Izlaz:

 'Hello, my name is Ayan' 

Samoparametar

Samoparametar se odnosi na trenutnu instancu klase i pristupa varijablama klase. Možemo koristiti bilo što umjesto sebe, ali to mora biti prvi parametar bilo koje funkcije koja pripada klasi.

_ _init_ _ metoda

Kako bi se napravila instanca klase u Pythonu, poziva se posebna funkcija pod nazivom __init__. Iako se koristi za postavljanje atributa objekta, često se naziva konstruktor.

Samoargument je jedini koji zahtijeva metoda __init__. Ovaj se argument odnosi na novogeneriranu instancu klase. Za inicijaliziranje vrijednosti svakog atributa povezanog s objektima, možete deklarirati dodatne argumente u metodi __init__.

Varijable klase i instance

Sve instance klase razmjenjuju varijable klase. Oni funkcioniraju neovisno o bilo kojoj metodi klase i može im se pristupiti korištenjem naziva klase. Evo ilustracije:

Kodirati:

 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) 

Izlaz:

 2 

Dok su varijable instance specifične za svaku instancu klase. Specificirani su pomoću samoargumenta u metodi __init__. Evo ilustracije:

Kodirati:

 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) 

Izlaz:

 Ayan 30 

Varijable klase kreiraju se odvojeno od bilo koje metode klase i dijele ih sve kopije klase. Svaka instanca klase ima vlastite varijable instance, koje su navedene u metodi __init__ korištenjem samoargumenta.

Zaključak:

Zaključno, pojmovi klasa i objekata u Pythonu snažne su ideje koje vam omogućuju pisanje programa za višekratnu upotrebu. Možete kombinirati informacije i mogućnosti u jednu cjelinu koja se može koristiti za izgradnju mnogih objekata uspostavljanjem klase. Koristeći notaciju s točkama, možete pristupiti metodama i svojstvima objekta nakon što je stvoren. Možete razviti logičniji, učinkovitiji i upravljiviji kod shvaćanjem Pythonovih klasa i objekata.