Uvod u Python preopterećenje

Preopterećenje je proces dobivanja istog naziva za više entiteta (metode, operatori itd.), Ali se razlikuju po atributima. Razlika u atributima može biti posljedica razlike u broju atributa ili razlike u vrsti atributa. Drugim riječima, iz perspektive entiteta (metode, operateri, itd.) To se može osmisliti ili objasniti kao sposobnost subjekta da se ponaša drugačije u skladu s parametrima koji mu se hrane. U pythonu, kao i u većini ostalih programskih jezika visoke razine, preopterećenje pythona može se postići na dva načina ili u slučajevima, oni su navedeni u nastavku,

  • Preopterećenje funkcija ili metoda (preopterećenje funkcije).
  • Preopterećenje operatera (preopterećenje operatora).

Funkcija Preopterećenje u Pythonu

Preopterećenje metoda nije primijenjeni pojam u pythonu, ali se može postići nekoliko tehnika. Prije svega, koncept preopterećenja metode može se svrstati u dva različita koncepta,

  • Preopterećenje korisnički definiranih funkcija.
  • Preopterećenje zadanih funkcija.

1. Preopterećenje korisnički definirane funkcije

Preopterećenje koje definira korisnik može se postići u pythonu postavljanjem parametara ili vrijednosti argumenta kao nijednog. Dakle, ako je argument postavljen kao nijedan, funkcija reagira na jedan način kada za taj argument nije proslijeđena vrijednost, a na drugačiji način kada za isti argument nije poslana vrijednost.

Primjer:

#!/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)

Izlaz:

2. Preopterećenje zadanih ili unaprijed definiranih funkcija

Preopterećenje ugrađenih funkcija uključuje definiranje unaprijed definirane funkcije za koju se očekuje da će biti preopterećena u klasi pitona kao posebne funkcije. Kada je unaprijed definirana funkcija deklarirana kao posebna funkcija u python klasi, interpreter će tu posebnu funkciju koristiti kao deklaraciju za unaprijed definirani poziv. Niži primjer precizno objašnjava ovaj postupak.

Primjer:

razmotrimo funkciju len () koja se koristi za određivanje duljine predmeta za ovaj primjer, donji primjer pokazuje standardnu ​​uporabu funkcije duljine bez impliciranja preopterećenja i postavlja odgovarajući utjecaj.

# 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))

Izlaz:

Sada ćemo se poslužiti metodom preopterećenja za funkciju len () u istom isječku koda

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))

Izlaz:

Jasno možemo primijetiti, umjesto korištenja uobičajene funkcije ugrađene duljine, koristi se preopterećena posebna funkcija __len __ (), koja omogućuje ispis sumirane duljine obiju lista, umjesto njihove pojedinačne duljine.

Preopterećenje operatora u Pythonu

To uključuje proširenu interpretaciju operatera više od njegove prvobitne svrhe. Najčešći primjer je operator dodavanja "+" gdje se može koristiti za uobičajeno zbrajanje i za spajanje dva različita niza.

Primjer:

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

Izlaz:

Prednosti Python preopterećenja

  • Povećava ponovnu upotrebu koda.
  • Povećava jasnoću koda.
  • Složenost kodeksa uveliko je smanjena.

Zaključak

Preopterećenje igra vitalnu ulogu u mnogim programskim jezicima visoke razine; U slučaju pytona, iako se ne podrazumijeva izravno, oni igraju značajnu ulogu u izbjegavanju ponavljanja korištenja koda.

Preporučeni članci

Ovo je vodič za Python preopterećenje. Ovdje smo raspravljali o korisnički i unaprijed definiranim funkcijama, zajedno s njegovim operatorom i prednostima. Možete pogledati i sljedeće članke da biste saznali više -

  1. Python varijable (top 4 vrste)
  2. Preopterećenje nasuprot pretjerivanju primjerima
  3. Operacije datoteka Python-a
  4. Python Editor (Top 6 urednika)
  5. Primjeri ugrađenih funkcija Python-a

Kategorija: