Introduzione al sovraccarico di Python

Il sovraccarico è il processo con lo stesso nome per più di un'entità (metodi, operatori, ecc.) Ma differiscono per i loro attributi. La differenza negli attributi può essere dovuta a una differenza nel conteggio degli attributi o alla differenza nel tipo di attributi. In altre parole, dal punto di vista dell'entità (metodi, operatori, ecc.) Può essere redatta o spiegata come la capacità di un'entità di comportarsi in modo diverso in base ai parametri ad essa alimentati. In Python come la maggior parte degli altri linguaggi di programmazione di alto livello, il sovraccarico di Python può essere ottenuto in due modi o istanze, sono elencati di seguito,

  • Sovraccarico di funzioni o metodi (Sovraccarico di funzioni).
  • Sovraccarico degli operatori (sovraccarico dell'operatore).

Funzione di sovraccarico in Python

Il sovraccarico del metodo non è un concetto applicato in Python ma può essere ottenuto attraverso diverse tecniche. Innanzitutto il concetto di sovraccarico del metodo può essere classificato in due diversi concetti,

  • Sovraccarico di funzioni definite dall'utente.
  • Sovraccarico di funzioni predefinite.

1. Sovraccarico di funzioni definite dall'utente

Il sovraccarico delle funzioni definite dall'utente può essere ottenuto in Python impostando un valore di parametro o argomento come nessuno. Quindi, se un argomento è impostato come nessuno, la funzione reagisce in un modo quando un valore non viene passato per questo argomento e in modo diverso quando un valore non viene passato per lo stesso argomento.

Esempio:

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

Produzione:

2. Sovraccarico di funzioni predefinite o predefinite

Il sovraccarico delle funzioni integrate implica la definizione della funzione predefinita che dovrebbe essere sovraccaricata nella classe python come funzione speciale. Pertanto, quando la funzione predefinita viene dichiarata come funzione speciale nella classe python, l'interprete utilizzerà questa funzione speciale come dichiarazione per la chiamata predefinita. L'esempio seguente spiega esattamente questo processo.

Esempio:

consideriamo la funzione len () che viene utilizzata per determinare la lunghezza di un elemento per questo esempio, l'esempio seguente mostra l'uso standard della funzione lunghezza senza implicare un sovraccarico e registra l'impatto corrispondente.

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

Produzione:

Ora usiamo il metodo overloading per la funzione len () nello stesso frammento di codice

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

Produzione:

Possiamo notare chiaramente invece di utilizzare la normale funzionalità di lunghezza incorporata viene utilizzata la funzione speciale sovraccaricata __len __ () che consente all'output di stampare la lunghezza sommata di entrambi gli elenchi anziché la loro lunghezza individuale.

Sovraccarico dell'operatore in Python

Ciò comporta un'interpretazione estesa di un operatore più del suo scopo originale. L'esempio più comune è l'operatore di addizione '+' dove può essere utilizzato per l'aggiunta normale e anche per unire due stringhe diverse.

Esempio:

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

Produzione:

Vantaggi del sovraccarico di Python

  • Aumenta la riusabilità del codice.
  • Aumenta la chiarezza del codice.
  • La complessità implicata nel codice è notevolmente ridotta.

Conclusione

Il sovraccarico svolge un ruolo vitale in molti linguaggi di programmazione di alto livello. Nel caso di Python, sebbene non siano impliciti direttamente, svolgono un ruolo significativo nell'evitare un uso ripetitivo del codice.

Articoli consigliati

Questa è una guida al sovraccarico di Python. Qui discutiamo le funzioni definite dall'utente e predefinite insieme al suo operatore e vantaggi. Puoi anche consultare i seguenti articoli per saperne di più-

  1. Variabili Python (i primi 4 tipi)
  2. Sovraccarico vs Sostituzione con esempi
  3. Operazioni sui file Python
  4. Redattori di Python (i primi 6 redattori)
  5. Esempi di funzioni integrate di Python

Categoria: