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.