Hva er metodeoverbelastning i Python og hvordan det fungerer?



Denne artikkelen forklarer hva som er metodeoverbelastning i python og hvordan det fungerer. Det er to forskjellige eksempler for å forklare metoden i dybden.

To metoder kan ikke ha samme navn i . Metodeoverbelastning i Python er en funksjon som gjør at den samme operatøren kan ha forskjellige betydninger. I denne artikkelen vil vi se på funksjonen for overbelastning av metoden i Python og hvordan den brukes tiloverbelastning av metodene, i følgende rekkefølge:

Hva er overbelastning?

Overbelastning er evnen til en funksjon eller en operatør til å oppføre seg på forskjellige måter basert på parametrene som sendes til , eller operandene som operatøren handler på.





Noen av fordeler bruk av overbelastning er:

  • Overbelastning av en metode fremmer gjenbrukbarhet. For eksempel, i stedet for å skrive flere metoder som bare skiller seg litt ut, kan vi skrive en metode og overbelaste den.



  • Overbelastning forbedrer også kodens klarhet og eliminerer kompleksitet.

Overbelastning er et veldig nyttig konsept. Imidlertid har den en rekke ulemper assosiert med det.

  • Overbelastning kan skape forvirring når den brukes på tvers grenser. Når det brukes for mye, blir det tungvint å administrere overbelastede funksjoner.



Metodeoverbelastning i Python

I Python kan du lage en metode som kan kalles på forskjellige måter. Så du kan ha en metode som har null, en eller flere antall parametere. Avhengig av metodedefinisjonen, kan vi kalle det med null, ett eller flere argumenter.

Gitt en enkelt metode eller funksjon, kan antall parametere spesifiseres av deg. Denne prosessen med å kalle den samme metoden på forskjellige måter kalles metodeoverbelastning.

Eksempler på metode for overbelastning

Nå som du vet hva som er metodeoverbelastning i Python, la oss ta et eksempel. Her lager vi en klasse med en Hallo() . Den første parameteren for denne metoden er satt til Ingen. Dette vil gi oss muligheten til å kalle det med eller uten en parameter.

Et objekt opprettes også basert på klassen, og vi vil kalle metoden ved å bruke null og en parameter.

Eksempel 1:

#! / usr / bin / env python klasse Person: def Hello (self, name = None): hvis navnet ikke er None: print ('Hello' + name) annet: print ('Hello') # Create instance obj = Person () # Kall metoden obj.Hello () # Kall metoden med en parameter obj.Hello ('Edureka')

Produksjon:

Hei Hei Edureka

For å avklare metodeoverbelastning kan vi nå kalle metoden Hello () på to måter:

obj.Hello () obj.Hello ('Edureka')

I eksemplet ovenfor har vi laget en metode som kan kalles med færre argumenter enn den er definert for å tillate. Dessuten er det ikke begrenset til to variabler og metoden din kan ha flere variabler som er valgfrie.

La oss nå ta en til eksempel å forstå metodeoverbelastning i .

kunstig intelligens kontrovers fordeler og ulemper

Eksempel 2:

I det følgende eksemplet vil vi overbelaste områdemetoden. Hvis det ikke er noe argument, returnerer det 0. Og hvis vi har ett argument, returnerer det kvadratet til verdien og antar at du beregner arealet til et kvadrat. Også, hvis vi har to argumenter, returnerer den produktet av de to verdiene og antar at du beregner arealet til et rektangel.

# klasseklasse Beregn: # arealmetode def areal (selv, x = Ingen, y = Ingen): hvis x! = Ingen og y! = Ingen: return x * y elif x! = Ingen: return x * x annet: retur 0 # object obj = Compute () # zero argument print ('Area Value:', obj.area ()) # one argument print ('Area Value:', obj.area (4)) # two argument print ('Area Verdi: ', obj. Område (3, 5))

Ovennevnte kode vil gi oss følgende produksjon:

Arealverdi: 0 Arealverdi: 16 Arealverdi: 15

Med dette har vi kommet til slutten av artikkelen vår. Jeg håper du forsto hva som er metodeoverbelastning i python og hvordan det fungerer.

For å få grundig kunnskap om python sammen med de forskjellige applikasjonene, kan du registrere deg for live av Edureka med 24/7 support og levetidstilgang.

Har du et spørsmål til oss? Vennligst nevn det i kommentarfeltet i denne 'Method Overloading in Python' -bloggen, så kommer vi tilbake til deg så snart som mulig.