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

Hat Python eine Überlastung?

anonymity
Freigeben: 2019-06-15 14:25:29
Original
4063 Leute haben es durchsucht

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)
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage