Kas yra „Python“ metodo perkrova ir kaip tai veikia?



Šiame straipsnyje paaiškinama, kas yra „python“ metodo perkrovimas ir kaip jis veikia. Yra du skirtingi pavyzdžiai, norint išsamiai paaiškinti metodą.

Du metodai negali turėti to paties pavadinimo . Metodo perkrova „Python“ yra funkcija, leidžianti tam pačiam operatoriui turėti skirtingas reikšmes. Šiame straipsnyje mes apžvelgsime „Python“ metodo perkrovos funkciją ir kaip ji naudojamaperkraunant metodus tokia seka:

Kas yra perkrova?

Perkrovimas yra funkcijos ar operatoriaus sugebėjimas elgtis įvairiai, remiantis parametrais, kurie perduodami arba operandus, kuriuos veikia operatorius.





Kai kurie iš privalumai yra:

  • Metodo perkrova skatina pakartotinį naudojimą. Pavyzdžiui, užuot parašę kelis metodus, kurie skiriasi tik šiek tiek, galime parašyti vieną metodą ir jį perkrauti.



  • Perkrovimas taip pat pagerina kodo aiškumą ir pašalina sudėtingumą.

Perkrovimas yra labai naudinga sąvoka. Tačiau jis turi keletą trūkumų susietas su juo.

  • Perkrovimas gali sukelti painiavos, kai jis naudojamas ribos. Pernelyg naudojant tampa sudėtinga valdyti perkrautas funkcijas.



Metodas „Python“ perkrova

„Python“ galite sukurti metodą, kurį galima iškviesti įvairiai. Taigi, galite turėti metodą, kuris turi nulį, vieną ar kelis parametrų skaičius. Priklausomai nuo metodo apibrėžimo, jį galime vadinti nuliu, vienu ar keliais argumentais.

Pateikdami vieną metodą ar funkciją, parametrų skaičių galite nurodyti patys. Šis to paties metodo iškvietimas skirtingais būdais vadinamas metodo perkrova.

Metodo perkrovos pavyzdžiai

Dabar, kai žinote, kas yra „Python“ metodo perkrova, paimkime pavyzdį. Čia mes sukuriame klasę su viena Sveiki() . Pirmasis šio metodo parametras yra None. Tai suteiks mums galimybę jį paskambinti su parametru arba be jo.

einantis nuoroda java

Objektas taip pat yra sukurtas remiantis klase ir jo metodą iškviesime naudodami nulį ir vieną parametrą.

1 pavyzdys:

#! / usr / bin / env python klasė Asmuo: def Hello (self, name = None): jei vardas nėra None: print ('Hello' + name) else: print ('Hello') # Create instance obj = Person () # Iškvieskite metodą obj Sveiki () # Iškvieskite metodą su parametru obj Sveiki ('Edureka')

Išvestis:

Sveiki Sveiki Edureka

Norėdami išsiaiškinti metodo perkrovą, dabar metodą „Hello“ () galime vadinti dviem būdais:

obj Sveiki () obj Sveiki ('Edureka')

Ankstesniame pavyzdyje mes sukūrėme metodą, kurį galima iškviesti su mažiau argumentų, nei yra apibrėžta leisti. Be to, tai neapsiriboja dviem kintamieji ir jūsų metodas gali turėti daugiau kintamųjų, kurie yra neprivalomi.

Dabar paimkime kitą pavyzdys suprasti metodo perkrovą .

2 pavyzdys:

Šiame pavyzdyje mes perkrausime ploto metodą. Jei argumento nėra, jis grąžina 0. Ir, jei turime vieną argumentą, jis grąžina vertės kvadratą ir daro prielaidą, kad skaičiuojate kvadrato plotą. Be to, jei turime du argumentus, jis pateikia dviejų reikšmių sandaugą ir daro prielaidą, kad skaičiuojate stačiakampio plotą.

# klasės klasė Apskaičiuokite: # srities metodas def plotas (savarankiškai, x = Nėra, y = Nėra): jei x! = Nėra ir y! = Nėra: grąžinti x * y elif x! = Nėra: grąžinti x * x dar: grįžti 0 # object obj = Compute () # zero argument print ('Area Value:', obj.area ()) # one argument print ('Area Value:', obj.area (4)) # two argument print ('Area Reikšmė: ', obj. (3, 5) sritis)

Aukščiau pateiktas kodas suteiks mums tai išvestis:

Ploto vertė: 0 Ploto vertė: 16 Ploto vertė: 15

Tuo mes pasiekėme savo straipsnio pabaigą. Tikiuosi, kad supratote, kas yra „python“ metodo perkrova ir kaip jis veikia.

Norėdami gauti išsamių žinių apie „Python“ kartu su įvairiomis jo programomis, galite užsiregistruoti tiesiogiai sukūrė „Edureka“ su parą visą parą ir visą gyvenimą.

Turite mums klausimą? Prašau tai paminėti šio tinklaraščio „Metodo perkrova„ Python “komentarų skyriuje ir mes kuo greičiau susisieksime su jumis.