OOP i Python
OOP i Python är en programmeringsmetod som fokuserar på att använda objekt och klasser som samma som andra allmänna programmeringsspråk. Objekten kan vara alla verkliga enheter. Python tillåter utvecklare att utveckla applikationer med OOPs-metoden med huvudfokus på kodåteranvändbarhet. Det är väldigt enkelt att skapa klasser och objekt i Python.
Vad är en klass?
En klass i Python är en logisk gruppering av data och funktioner. Det ger friheten att skapa datastrukturer som innehåller godtyckligt innehåll och därmed lättillgängligt.
Till exempel, för alla bankanställda som vill hämta kunduppgifter online skulle gå till kundklass , där alla dess attribut som transaktionsinformation, uttags- och insättningsinformation, utestående skuld etc. skulle listas ut.
I den här handledningen lär vi oss,
- Hur man definierar Python-klasser
- Hur arv fungerar
- Python-konstruktörer
Hur man definierar Python-klasser
För att definiera klass måste du överväga följande punkter
Steg 1) I Python definieras klasser av nyckelordet "Klass"
class myClass():
Steg 2) Inom klasserna kan du definiera funktioner eller metoder som ingår i denna klass
def method1 (self):print "Guru99"def method2 (self,someString):print "Software Testing: + someString
- Här har vi definierat metod 1 som skriver ut "Guru99."
- En annan metod som vi har definierat är metod2 som skriver ut "Software Testing" + SomeString. SomeString är variabeln som tillhandahålls av anropsmetoden
Steg 3) Allt i en klass är indragen, precis som koden i funktionen, loop, if statement, etc. Allt som inte är indraget finns inte i klassen
OBS : Om att använda "själv" i Python
- Självargumentet hänvisar till själva objektet. Därav användningen av ordet själv. Så inom denna metod hänvisar jag till den specifika instansen av det här objektet som manövreras.
- Själv är det namn som Pythons föredrar för att ange den första parametern för instansmetoder i Python. Det är en del av Python-syntaxen för att komma åt medlemmar av objekt
Steg 4) Att göra ett objekt av klassen
c = myClass()
Steg 5) Att ringa en metod i en klass
c.method1()c.method2(" Testing is fun")
- Lägg märke till att när vi kallar method1 eller method2 behöver vi inte tillhandahålla självnyckelordet. Det hanteras automatiskt för oss av Python runtime.
- Python-körning skickar "själv" -värde när du till exempel anropar en instansmetod, oavsett om du ger den medvetet eller inte
- Du måste bara bry dig om icke-självargumenten
Steg 6) Här är den fullständiga koden
# Exempelfil för att arbeta med klasserklass myClass ():def-metod1 (själv):tryck ("Guru99")def metod2 (själv, someString):skriv ut ("Software Testing: + someString)def huvud ():# öva klassmetodernac = myClass ()c.method1 ()c.method2 ("Testning är kul")om __namn __ == "__main__":huvud ()
Hur arv fungerar
Arv är en funktion som används i objektorienterad programmering; det hänvisar till att definiera en ny klass med mindre eller ingen modifiering av en befintlig klass. Den nya klassen kallas härledd klass och från en som den ärver kallas basen . Python stöder arv; det stöder också flera arv . En klass kan ärva attribut och beteendemetoder från en annan klass som kallas underklass eller arvklass.
Python-arvssyntax
class DerivedClass(BaseClass):body_of_derived_class
Steg 1) Kör följande kod
# Exempelfil för att arbeta med klasserklass myClass ():def-metod1 (själv):tryck ("Guru99")klass childClass (myClass):#def method1 (själv):# myClass.method1 (själv);#print ("childClass Method1")def-metod2 (själv):tryck ("childClass method2")def huvud ():# öva klassmetodernac2 = childClass ()c2.method1 ()# c2.method2 ()om __namn __ == "__main__":huvud ()
Observera att i childClass, method1 inte definieras men den härrör från den överordnade myClass. Produktionen är "Guru99."
Steg 2) Kommentarrad 8 & 10. Kör koden
Nu definieras metoden 1 i childClass och utdata "childClass Method1" visas korrekt.
Steg 3) Kommentarrad nr 9. Kör koden
Du kan ringa en metod för överordnad klass med syntaxen
ParentClassName.MethodName(self)
I vårt fall kallar vi, myClass.method1 (själv) och Guru99 skrivs ut som förväntat
Steg 4 ) Kommentarrad nr 19. Kör koden.
Metod 2 i barnklassen kallas och "childClass method2" skrivs ut som förväntat.
Python-konstruktörer
En konstruktör är en klassfunktion som instantierar ett objekt till fördefinierade värden.
Det börjar med en dubbel understrykning (_). Det __init __ () -metoden
I nedanstående exempel tar vi namnet på användaren med hjälp av konstruktorn.
class User:name = ""def __init__(self, name):self.name = namedef sayHello(self):print("Welcome to Guru99, " + self.name)User1 = User("Alex")User1.sayHello()
Produktionen kommer att vara:
Välkommen till Guru99, Alex
Python 2 Exempel
Ovanstående koder är exempel på Python 3. Om du vill köra i Python 2 överväg att följa koden.
# How to define Python classes# Example file for working with classesclass myClass():def method1(self):print "Guru99"def method2(self,someString):print "Software Testing: + someStringdef main():# exercise the class methodsc = myClass ()c.method1()c.method2(" Testing is fun")if __name__== "__main__":main()#How Inheritance works# Example file for working with classesclass myClass():def method1(self):print "Guru99"class childClass(myClass):#def method1(self):#myClass.method1(self);#print "childClass Method1"def method2(self):print "childClass method2"def main():# exercise the class methodsc2 = childClass()c2.method1()#c2.method2()if __name__== "__main__":main()
Sammanfattning:
"Klass" är en logisk gruppering av funktioner och data. Python-klassen tillhandahåller alla standardfunktioner för objektorienterad programmering.
- Klass arvsmekanism
- En härledd klass som åsidosätter alla metoder i sin basklass
- En metod kan anropa metoden för en basklass med samma namn
- Python Klasser definieras av sökordet "klass" i sig
- Inuti klasser kan du definiera funktioner eller metoder som ingår i klassen
- Allt i en klass är indragen, precis som koden i funktionen, loop, if statement, etc.
- Självargumentet i Python hänvisar till själva objektet. Själv är det namn som Pythons föredrar för att ange den första parametern för instansmetoder i Python
- Python-körning skickar automatiskt "själv" -värde när du till exempel anropar en instansmetod, oavsett om du anger det medvetet eller inte
- I Python kan en klass ärva attribut och beteendemetoder från en annan klass som kallas underklass eller arvklass.