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.
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!