Uvod v Python preobremenitev

Preobremenitev je postopek z istim imenom za več entitet (metode, operaterji itd.), Vendar se razlikujejo po svojih lastnostih. Razlika v atributih je lahko posledica razlike v številu atributov ali razlike v vrsti atributov. Z drugimi besedami, z vidika subjekta (metode, operaterji itd.) Ga je mogoče sestaviti ali razložiti kot zmožnost subjekta, da se obnaša drugače glede na parametre, ki mu se napajajo. V pythonu, kot v večini drugih programskih jezikov na visoki ravni, je mogoče prenasičenost pythona doseči na dva načina ali primere, so navedeni spodaj,

  • Preobremenitev funkcij ali metod (Funkcija Preobremenitev).
  • Preobremenitev operaterjev (Operator preobremenitev).

Funkcija Preobremenitev v Pythonu

Preobremenitev metode ni uporaben koncept v pythonu, vendar jo je mogoče doseči z več tehnikami. Najprej je mogoče koncept preobremenitve metode razvrstiti v dva različna koncepta oz.

  • Preobremenitev uporabniško določenih funkcij.
  • Preobremenitev privzetih funkcij.

1. Preobremenitev uporabniško določenih funkcij

Uporabniško definirano funkcijo preobremenitve lahko dosežemo v pythonu z nastavitvijo parametra ali vrednosti argumenta kot nič. Torej, če je argument nastavljen kot noben, potem funkcija reagira na en način, ko za ta argument ni poslana vrednost, in na drugačen način, če za isti argument ni poslana vrednost.

Primer:

#!/usr/bin/env python
class Overloading_test:
def overloading_function(self, argument1 = 0, argument2 = 0 ):
if argument1 is not None or argument2 is not None:
print('Method Overloading parameter count :', (int( argument1) + int(argument2)))
else:
print( ' Method Overloading without parameters ' )
# Create instance
object1 = Overloading_test()
# Call the method with no arguments
object1.overloading_function()
# Call the method with 1 argument
object1.overloading_function(1)
# Call the method with 2 argument
object1.overloading_function(1, 1)

Izhod:

2. Preobremenitev privzetih ali vnaprej določenih funkcij

Preobremenitve vgrajenih funkcij vključujejo določitev vnaprej definirane funkcije, ki naj bi se v razredu python-a preobremenila kot posebna funkcija. Torej, ko je vnaprej določena funkcija v razredu python deklarirana kot posebna funkcija, bo tolmač to posebno funkcijo uporabil kot deklaracijo za vnaprej določen klic. Spodnji primer natančno razlaga ta postopek.

Primer:

razmislimo o funkciji len (), ki se v tem primeru uporablja za določanje dolžine predmeta, spodaj prikazan standardna uporaba dolžinske funkcije brez impliciranja preobremenitve in ustrezen vpliv.

# Using len() function without method overloading
Lower_Case = ( ' a ', ' b ', ' c ', ' d ', ' e ', ' f ', ' g ', ' h ', ' i ', ' j ', ' k ', ' l ', ' m ', ' n ', ' o ', ' p ', ' q ', ' r ', ' s ', ' t ', ' u ', ' v ', ' w ', ' x ', ' y ', ' z ' ) Upper_Case = ( ' A ', ' B ', ' C ', ' D ', ' E ', ' F ', ' G ', ' H ', ' I ', ' J ', ' K ', ' L ', ' M ', ' N ', ' O ', ' P ', ' Q ', ' R ', ' S ', ' T ', ' U ', ' V ', ' W ', ' X ', ' Y ', ' Z ' ) print(' Collection used for List1 : ', type(Lower_Case))
print(' Collection used for list2 : ', type(Upper_Case))
print(' Total count of Alphabets in list1 : ', len(Lower_Case))
print(' Total count of Alphabets in list2 : ', len(Upper_Case))

Izhod:

Zdaj uporabimo metodo preobremenitve funkcije len () v istem delčku kode

class overloading:
def __init__(self, argument1, argument2):
self.argument1 = argument1
self.argument2 = argument2
def __len__(self):
return argument1+argument2
Lower_Case = ( ' a ', ' b ', ' c ', ' d ', ' e ', ' f ', ' g ', ' h ', ' i ', ' j ', ' k ', ' l ', ' m ', ' n ', ' o ', ' p ', ' q ', ' r ', ' s ', ' t ', ' u ', ' v ', ' w ', ' x ', ' y ', ' z ' ) Upper_Case = ( ' A ', ' B ', ' C ', ' D ', ' E ', ' F ', ' G ', ' H ', ' I ', ' J ', ' K ', ' L ', ' M ', ' N ', ' O ', ' P ', ' Q ', ' R ', ' S ', ' T ', ' U ', ' V ', ' W ', ' X ', ' Y ', ' Z ' ) print(' Collection used for List1 : ', type(Lower_Case))
print(' Collection used for list2 : ', type(Upper_Case))
argument1 = len(Lower_Case)
argument2 = len(Upper_Case)
# Using len() function without method overloading
Object1 = overloading(argument1, argument2)
print('Overall length of both the lists : ', len(Object1))

Izhod:

Jasno lahko opazimo, da namesto običajnih funkcij vgrajene dolžine uporabljamo preobremenjeno posebno funkcijo __len __ (), zaradi česar izhod natisne sešteto dolžino obeh seznamov namesto njihove posamezne dolžine.

Operator preobremenitev v Pythonu

To vključuje razširjeno razlago operaterja več kot prvotni namen. Najpogostejši primer je operater seštevanja '+', kjer ga lahko uporabimo za običajno seštevanje in tudi za spajanje dveh različnih nizov.

Primer:

# add two numbers
print(1 + 2)
# concatenate two strings
print("Hello"+"World")

Izhod:

Prednosti Python preobremenitve

  • Poveča ponovno uporabo kode.
  • Poveča jasnost kode.
  • Kompleksnost kode je zelo zmanjšana.

Zaključek

Preobremenitev ima ključno vlogo v mnogih programskih jezikih na visoki ravni. V primeru pythona, čeprav se ne implicira neposredno, imajo pomembno vlogo pri preprečevanju ponavljajoče se uporabe kode.

Priporočeni članki

To je vodnik za Python preobremenitev. Tukaj razpravljamo o uporabniško definiranih in vnaprej določenih funkcijah, skupaj z njegovim operaterjem in prednostmi. Če želite izvedeti več, si oglejte tudi naslednje članke -

  1. Spremenljivke Python (top 4 vrste)
  2. Preobremenitev vs Prevladovanje s primeri
  3. Operacije datotek Python
  4. Urejevalniki Pythona (top 6 urednikov)
  5. Primeri vgrajenih funkcij Python-a