Heim  >  Artikel  >  Backend-Entwicklung  >  Hat Python eine Überlastung?

Hat Python eine Überlastung?

anonymity
anonymityOriginal
2019-06-15 14:25:293991Durchsuche

In Python gibt es die Idee der Überladung, aber kein Konzept der Überladung. Einige Leute sagen, dass eine Sprache wie Python keine Funktionsüberladung unterstützt, und andere sagen, dass Python eine Überladungsfunktion hat. Tatsächlich fehlt dem Zweck der Überladung in der Python-Programmierung das Verhalten einer Überladung, oder mit anderen Worten: Python braucht keine Überladung!

Python ist eine dynamische Sprache. Es besteht keine Notwendigkeit, Variablentypen zu deklarieren und keine Überladung basierend auf Parametertypen zu unterstützen Berücksichtigen Sie die Art der Parameter. Diese können innerhalb der Funktion beurteilt und verarbeitet werden, und es ist nicht erforderlich, eine Funktion zu schreiben. Python bietet mehrere Möglichkeiten zum Übergeben von Parametern. Standardparameter/Variablenparameter/Variablenschlüsselwortparameter können das Problem variabler Parameter in Funktionsparametern lösen.

Hat Python eine Überlastung?

Der in Python3.4 hinzugefügte Neulademechanismus

Es gibt einen Weiterleitungsmechanismus in Python3.4, um das Neuladen zu implementieren

from functools import singledispatch   
@singledispatch 
def function(obj): 
    print('%r'%(obj))
       
@function.register(int) 
def function_int(obj): 
    print('Integer: %d'%(obj)) 
  
@function.register(str) 
def function_int(obj): 
    print('String: %s'%(obj)) 
  
@function.register(list) 
def function_list(obj): 
    print('List: %r'%(obj)) 
  
  
if __name__ == "__main__": 
     function(1) 
     function('hello') 
     function(range(3)) 
     function(object)

Das obige ist der detaillierte Inhalt vonHat Python eine Überlastung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn