OOP i Python
OOPs i Python er en programmeringsmetode som fokuserer på å bruke objekter og klasser som de samme som andre generelle programmeringsspråk. Objektene kan være hvilke som helst virkelige enheter. Python lar utviklere utvikle applikasjoner ved hjelp av OOPs-tilnærmingen, med hovedfokus på kode gjenbrukbarhet. Det er veldig enkelt å lage klasser og objekter i Python.
Hva er en klasse?
En klasse i Python er en logisk gruppering av data og funksjoner. Det gir frihet til å lage datastrukturer som inneholder vilkårlig innhold og dermed lett tilgjengelig.
For eksempel, for alle bankansatte som ønsker å hente kundeopplysningene online, vil de gå til kundeklasse , der alle dets attributter som transaksjonsdetaljer, uttaks- og innskuddsdetaljer, utestående gjeld osv. Vil bli oppført.
I denne veiledningen vil vi lære,
- Hvordan definere Python-klasser
- Hvordan Arv fungerer
- Python Constructors
Hvordan definere Python-klasser
For å definere klasse må du vurdere følgende punkter
Trinn 1) I Python er klasser definert av søkeordet "Klasse"
class myClass():
Trinn 2) Inne i klasser kan du definere funksjoner eller metoder som inngår i denne klassen
def method1 (self):print "Guru99"def method2 (self,someString):print "Software Testing: + someString
- Her har vi definert metode1 som skriver ut "Guru99."
- En annen metode vi har definert er method2 som skriver ut "Software Testing" + SomeString. SomeString er variabelen som leveres av anropsmetoden
Trinn 3) Alt i en klasse er innrykket, akkurat som koden i funksjonen, loop, if statement, etc. Alt som ikke er innrykket er ikke i klassen
MERKNAD : Om bruk av "selv" i Python
- Selvargumentet refererer til selve objektet. Derav bruken av ordet selv. Så inne i denne metoden vil selv referere til den spesifikke forekomsten av dette objektet som blir operert.
- Selv er navnet foretrukket av konvensjon av Pythons for å indikere den første parameteren for forekomstmetoder i Python. Det er en del av Python-syntaksen for å få tilgang til medlemmer av objekter
Trinn 4) Å lage et objekt av klassen
c = myClass()
Trinn 5) Å kalle en metode i en klasse
c.method1()c.method2(" Testing is fun")
- Legg merke til at når vi kaller method1 eller method2, trenger vi ikke å oppgi selvordet. Det blir automatisk håndtert for oss av Python-kjøretiden.
- Python-kjøretid vil for eksempel gi "selv" -verdien når du for eksempel kaller en forekomstmetode, enten du gir den bevisst eller ikke
- Du må bare bry deg om ikke-selvargumentene
Trinn 6) Her er den fullstendige koden
# Eksempelfil for å jobbe med klasserklasse myClass ():def metode1 (selv):trykk ("Guru99")def metode2 (selv, noenString):skriv ut ("Software Testing: + someString)def main ():# trene klassemetodenec = myClass ()c.method1 ()c.method2 ("Testing er gøy")hvis __navn __ == "__main__":hoved()
Hvordan Arv fungerer
Arv er en funksjon som brukes i objektorientert programmering; det refererer til å definere en ny klasse med mindre eller ingen endringer i en eksisterende klasse. Den nye klassen kalles avledet klasse og fra en som den arver kalles basen . Python støtter arv; den støtter også flere arv . En klasse kan arve attributter og atferdsmetoder fra en annen klasse som kalles underklasse eller arveklasse.
Python Arv Syntaks
class DerivedClass(BaseClass):body_of_derived_class
Trinn 1) Kjør følgende kode
# Eksempelfil for å jobbe med klasserklasse myClass ():def metode1 (selv):trykk ("Guru99")klasse childClass (myClass):#def method1 (selv):# myClass.method1 (selv);#print ("childClass Method1")def metode2 (selv):utskrift ("childClass method2")def main ():# trene klassemetodenec2 = childClass ()c2.method1 ()# c2.method2 ()hvis __navn __ == "__main__":hoved()
Legg merke til at i childClass, metode 1 ikke er definert, men den er avledet fra den overordnede myClass. Produksjonen er "Guru99."
Trinn 2) Kommentarlinje 8 & 10. Kjør koden
Nå er metoden 1 definert i childClass og utdata "childClass Method1" vises riktig.
Trinn 3) Kommentarlinje 9. Kjør koden
Du kan ringe en metode fra foreldreklassen ved hjelp av syntaksen
ParentClassName.MethodName(self)
I vårt tilfelle kaller vi, myClass.method1 (selv) og Guru99 skrives ut som forventet
Trinn 4 ) Kommentarlinje nr. 19. Kjør koden.
Metode 2 i barneklassen kalles og "childClass method2" skrives ut som forventet.
Python Constructors
En konstruktør er en klassefunksjon som instantierer et objekt til forhåndsdefinerte verdier.
Det begynner med dobbelt understreking (_). Det __init __ () -metoden
I eksemplet nedenfor tar vi navnet på brukeren ved hjelp av konstruktør.
class User:name = ""def __init__(self, name):self.name = namedef sayHello(self):print("Welcome to Guru99, " + self.name)User1 = User("Alex")User1.sayHello()
Produksjonen vil være:
Velkommen til Guru99, Alex
Python 2 Eksempel
Ovenfor koder er eksempler på Python 3. Hvis du vil kjøre i Python 2, kan du vurdere å følge 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()
Sammendrag:
"Klasse" er en logisk gruppering av funksjoner og data. Python-klassen gir alle standardfunksjonene i Object Oriented Programming.
- Klassearvsmekanisme
- En avledet klasse som overstyrer enhver metode i basisklassen
- En metode kan kalle metoden til en basisklasse med samme navn
- Python-klasser er definert av søkeordet "klasse" selv
- Inne i klasser kan du definere funksjoner eller metoder som er en del av klassen
- Alt i en klasse er innrykket, akkurat som koden i funksjonen, loop, if statement, etc.
- Selvargumentet i Python refererer til selve objektet. Selv er navnet foretrukket av konvensjon av Pythons for å indikere den første parameteren for forekomstmetoder i Python
- Python-kjøretid vil overføre "selv" -verdien automatisk når du for eksempel kaller en forekomstmetode, enten du gir den bevisst eller ikke
- I Python kan en klasse arve attributter og atferdsmetoder fra en annen klasse som kalles underklasse eller arveklasse.