Vijesti o Tehnologiji, Recenzije i Savjeti!

Definicija klase u Pythonu –

Koncept objekata i klasa zajedno dolazi pod okrilje OOP-a ili objektno orijentiranog programiranja. OOP je stoga metoda za strukturiranje skupa instrukcija enkapsulacijom povezanih ponašanja i sličnih svojstava u objekte. Za razliku od naglaska na funkcijama kao kod programiranja procedura, glavni naglasak je na objektima u OOP-u. Stoga se u ovom postu bavimo temom Definicija klase u Pythonu.

Objektno orijentirano programiranje

Koncept objektno orijentiranog programiranja ili OOP-a u osnovi se usredotočuje na izgradnju stilova koda koji se mogu ponovno koristiti i stoga ih je lakše čitati i održavati. Izražena suprotnost drugom konceptu proceduralnog programiranja, koji se izričito fokusira na sekvencijalno izvršavanje instrukcija.

U osnovi postoje dva vrlo važna pojma ili da tako kažem komponente/integranti u konceptu objektno orijentiranog programiranja. To su klasa i objekt, koji se definiraju u nastavku:

  • Klasa — Klasa nije ništa drugo nego nacrt stvoren za objekt. U osnovi definira skup atributa koji će se koristiti za karakterizaciju bilo kojeg objekta instanciranog iz te klase. Dakle, to je unaprijed definirani, postavljeni predložak za objekt.
  • Objekt — Objekt nije ništa drugo nego instanca klase. Atributi klase se manifestiraju u objektu. Laički rečeno, objekt nasljeđuje atribute ili karakteristike klase iz koje je instanciran ili realiziran.

Dakle, također možemo reći da su klase poput uzoraka koji se koriste u objektima.

Objekti i klase

Praktično, objekt je skup podataka (varijabli), koji su u biti atributi, i metoda (funkcija) koje djeluju na te podatke, što je u biti ponašanje. Isto tako, općenito, klasa je predložak ili nacrt za objekt.

Uzmimo primjere izgradnje kuće. Ovdje je klasa nacrt (skica, prototip) kuće. Sadrži razne detalje poput vrata, windows i podovi. Na temelju ovih atributa, kuća se gradi ili instancira. Stoga je određena kuća koja se gradi objekt ili instanca klase. Bilo koji broj kuća s posebnim karakteristikama može se izgraditi prema istom nacrtu ili klasi Kuće.

Definicija klase u Pythonu

Definicija klase počinje istoimenom ključnom riječi, “klasa” koja slijedi iza imena klase i dvotočke. Nastavimo vidjeti primjer klase kao što je prikazano u nastavku:

class Person:
    pass

Tijelo klase Person od sada sadrži samo jednu naredbu ‘pass’. Ključna riječ pass općenito označava rezervirano mjesto koje sugerira mjesto na koje ide kod nakon unosa konstrukcije klase.

Za opće konvencije imenovanja, pogledajte moj prethodni post.

Sada nastavimo s definiranjem nekih svojstava klase “Osoba”. Možemo opisati različita svojstva kao što su: ime, dob, visina, težina i boja. Za početak upotrijebimo samo ime i dob.

Svojstva koja moraju imati svi objekti “Person” definirana su u metodi koja se zove .__init__() Svaki trenutak, kada se izgradi nova instanca osobe, konstrukcija .__init__() postavlja početno stanje objekta dodjeljivanjem vrijednosti razna svojstva objekta. To jest, .__init__() inicijalizira svaku novu instancu ili objekt klase.

.__init__() se može administrirati onoliko koliko je potrebno parametara, ali prvi parametar je uvijek samo argument. To je zato što, kad god se kreira nova instanca klase, instanca se automatski prosljeđuje argumentu self u konstrukciji .__init__(). Dakle, na objektu se mogu definirati novi atributi.

class Person :
    def __init__(self, name, age):
        self.name = name
        self.age = age
Segment tijela definicije

Noteda u segmentu tijela .__init__(), postoje dvije vlastite izjave:

  1. Izjava self.name = name, koja stvara atribut “name” koji se zatim dodjeljuje vrijednosti argumenta “name”.
  2. Izjava self.age = age, koja stvara atribut “dob” koji se zatim dodjeljuje vrijednosti argumenta “dob”.

Atributi koji se stvaraju kroz .__init__(), postaju poznati kao atributi instance. To je tako jer je vrijednost instance specifična za određenu instancu te klase. Kao u imenu i starosti object1 klase “Osoba”.

S druge strane, postoji još jedan skup atributa, atributi klase. To su atributi koji imaju istu vrijednost za sve instance te klase.

Pogledajmo primjer:

class Person :
    species = "Home sapiens"    # Class attribute

    def __init__(self, name, age):
        self.name = name
        self.age = age

Sada kada imamo klasu “Osoba”, pogledajmo stvaranje objekata za nju. Ili, u stvarnosti, kreirajmo neke osobe za klasu “Osoba”.

Stvaranje objekta

Stvaranje instance ili točnije objekta klase poznato je kao instanciranje objekta. Za početak s instanciranjem, proučimo kako to učiniti. Upišite naziv klase, nakon čega slijedi prva zagrada ili zagrada:

Person()

Jedan sada ima novu instancu “Osobe” na memorijskoj adresi 0x208702d45. Kreirajmo sada novi objekt:

Person()

Vidimo da se ovaj novi objekt nalazi na drugoj memorijskoj adresi koja se dosta razlikuje od memorijske adrese prvog objekta. To je zato što je to potpuno nova instanca i također se razlikuje po prirodi od prvog objekta ili instance klase. Ipak, testirajmo ga za apsolutno pojašnjenje:

Shubham = Person()
Jeevan = Person()
Shubham  == Jeevan

Output : False

Treba primijetiti da iako su i Shubham i Jeevan instance iste klase “Osoba”, oni predstavljaju potpuno dva jedinstvena objekta u memoriji.

Definicija klase u Pythonu — Razni primjeri

# We will create a "ComplexNumber"class 
class ComplexNumber:
    def __init__(self, r = 0, i = 0) :
        self.real = r
        self.image = i

    def get_data(self) :
        print(f' {self.real} + {self.image}j')


# Now, creating a new object
com1 = ComplexNumber(3, 5)

# Now, lets call get_data() method

# Output: 3 + 5j
com1.get_data()
/*  Creating a Dog Class 

class Dog:
    species = "Canis familiaris"

    def __init__(self, name, age):
        self.name = name
        self.age = age

    # Instance method
    def description(self):
        return f"{self.name} is {self.age} years old"

    # Another instance method
    def speak(self, sound):
        return f"{self.name} is saying {sound}"

tommy = Dog("Tommy", 5)

tommy.description()
'Tommy is 4 years old'

tommy.speak("Woof Woof")
'Tommy is saying Woof Woof'
/*  Creating a greet method in the Person class
class Person:
    age = 10

    def greet(self):
        print('Hello')


# create a new object of Person class
Shubham = Person()

print(Person.greet)
/* Creating a Coffee Machine class
class CoffeeMachine:
    name = ""
    beans = 0
    water = 0
    
    def __init__(self, name, beans, water):
        self.name = name
        self.beans = beans
        self.water = water
        
    def addBean(self):
        self.beans = self.beans + 1
    
    def removeBean(self):
        self.beans = self.beans - 1
    
    def addWater(self):
        self.water = self.water + 1
    
    def removeWater(self):
        self.water = self.water - 1
    
    def printState(self):
        print "Name  = " + self.name
        print "Beans = " + str(self.beans)
        print "Water = " + str(self.water)

cocoa= CoffeeMachine("Cocoa", 203, 50)
pythonBean.printState()
print ""
pythonBean.addBean()
pythonBean.printState()

SAŽETAK — Definicija klase u Pythonu

Dakle, u ovom postu smo se detaljno upoznali s objektima i klasama, osnovnim komponentama objektno orijentiranog programiranja u Pythonu. Također, vidjeli smo različite metode za stvaranje klasa. Vidjeli smo o definiciji klase u Pythonu. Naučili smo ove koncepte uz pomoć velikog broja primjera.

Stoga ćete kroz ovaj članak imati ideju o konceptu klase i objekata u Pythonu. Pretpostavljam da sam kroz ovaj članak bio prilično jasan. Ali, u svakom slučaju, još uvijek imate neke sumnje. Zatim mi, molim vas, pišite u odjeljku za komentare i ja sam kao i uvijek uvijek spreman pomoći vam. I također riješite svoje brojne upite i probleme.

Do tada vam želim doviđenja !!! U redu, čekaj ….. prije nego što odeš, možeš pogledati moje razne druge objave. Također, iz jednostavnog razloga, a to je da unaprijedite svoje znanje o raznim drugim važnim temama. Također, gdje??? Evo…… A ako i dalje želite više kao u “Dil Mange More” tada posjetiti.