Čo je to preťaženie metód v Pythone a ako to funguje?



Tento článok vysvetľuje, čo je preťaženie metód v pythone a ako to funguje. Existujú dva rôzne príklady na podrobné vysvetlenie metódy.

Dve metódy nemôžu mať v systéme rovnaký názov . Metóda preťaženia v Pythone je funkcia, ktorá umožňuje tomu istému operátorovi mať rôzne významy. V tomto článku sa pozrieme na funkciu preťaženia metód v Pythone a na to, ako sa používapreťaženie metód, v nasledujúcom poradí:

Čo je to preťaženie?

Preťaženie je schopnosť funkcie alebo operátora správať sa rôznymi spôsobmi na základe parametrov, ktoré sa odovzdávajú , alebo operandy, na ktoré operátor koná.





Niektoré z výhody použitia preťaženia sú:

  • Preťaženie metódy podporuje opätovné použitie. Napríklad namiesto písania viacerých metód, ktoré sa líšia len mierne, môžeme napísať jednu metódu a preťažiť ju.



  • Preťaženie tiež zlepšuje čistotu kódu a eliminuje zložitosť.

Preťaženie je veľmi užitočný koncept. Má však množstvo nevýhody spojené s tým.

  • Pri nadmernom zaťažení môže dôjsť k nejasnostiam, ak sa použije naprieč hranice. Pri nadmernom používaní sa stáva ťažkopádnym riadiť preťažené funkcie.



Preťaženie metód v Pythone

V Pythone môžete vytvoriť metódu, ktorú je možné vyvolať rôznymi spôsobmi. Môžete teda mať metódu, ktorá má nulový, jeden alebo viac parametrov. Podľa definície metódy ju môžeme nazvať nulou, jedným alebo viacerými argumentmi.

Vzhľadom na jednu metódu alebo funkciu môžete určiť počet parametrov. Tento proces volania tej istej metódy rôznymi spôsobmi sa nazýva preťaženie metódy.

qtp vs selén čo je lepšie

Príklady preťaženia metód

Teraz, keď viete, čo je preťaženie metód v Pythone, si vezmime príklad. Tu vytvoríme triedu s jednou Ahoj() . Prvý parameter tejto metódy je nastavený na None. Toto nám dá možnosť zavolať ho s parametrom alebo bez neho.

Na základe triedy sa tiež vytvorí objekt a jeho metódu zavoláme pomocou nuly a jedného parametra.

Príklad 1:

#! / usr / bin / env trieda pythonu Osoba: def Hello (self, name = None): ak meno nie je None: print ('Hello' + name) else: print ('Hello') # Create instance obj = Person () # Zavolajte metódu obj.Hello () # Zavolajte metódu s parametrom obj.Hello ('Edureka')

Výkon:

Ahoj Ahoj Edureka

Na objasnenie preťaženia metódy môžeme metódu Hello () teraz volať dvoma spôsobmi:

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

Vo vyššie uvedenom príklade sme vytvorili metódu, ktorú je možné volať s menším počtom argumentov, ako je definované v povolení. Nie je obmedzený iba na dva premenné a vaša metóda môže mať viac premenných, ktoré sú voliteľné.

Teraz si vezmime ďalší príklad pochopiť preťaženie metódy v .

Príklad 2:

V nasledujúcom príklade preťažíme plošnú metódu. Ak nie je k dispozícii žiadny argument, vráti hodnotu 0. A Ak máme jeden argument, vráti druhú mocninu hodnoty a predpokladá, že počítate plochu štvorca. Tiež, ak máme dva argumenty, vráti súčin dvoch hodnôt a predpokladá, že počítate plochu obdĺžnika.

# class class Compute: # area method def area (self, x = None, y = None): if x! = None and y! = None: return x * y elif x! = None: return x * x else: return 0 # objekt obj = Compute () # tlač nulového argumentu ('Area Value:', obj.area ()) # tlač jedného argumentu ('Area Value:', obj.area (4)) # tlač dvoch argumentov ('Area Hodnota: ', obj. Oblasť (3, 5))

Vyššie uvedený kód nám poskytne nasledujúce informácie výkon:

Hodnota oblasti: 0 Hodnota oblasti: 16 Hodnota oblasti: 15

Týmto sme sa dostali na koniec nášho článku. Dúfam, že ste pochopili, čo je preťaženie metód v pythone a ako to funguje.

Ak chcete získať podrobné informácie o pythone a jeho rôznych aplikáciách, môžete sa zaregistrovať naživo od spoločnosti Edureka s nepretržitou podporou a doživotným prístupom.

Máte na nás otázku? Uveďte to, prosím, v sekcii komentárov v tomto blogu „Metóda preťaženia v Pythone“ a my sa vám ozveme čo najskôr.