Maison  >  Article  >  développement back-end  >  Python a-t-il une surcharge ?

Python a-t-il une surcharge ?

anonymity
anonymityoriginal
2019-06-15 14:25:294007parcourir

En python, il y a l'idée de surcharge mais pas de notion de surcharge. Ainsi, certaines personnes disent qu'un langage comme Python ne prend pas en charge la surcharge de fonctions, et d'autres disent que Python a une fonction de surcharge. En fait, le but de la surcharge dans la programmation Python n'a pas le comportement de la surcharge, ou en d'autres termes, Python n'a pas besoin de surcharge !

python est un langage dynamique. Il n'est pas nécessaire de déclarer des types de variables. Les fonctions peuvent accepter des paramètres de n'importe quel type, la surcharge ne peut donc pas être prise en charge en fonction des types de paramètres. pas besoin de python Considérez le type de paramètres Ceux-ci peuvent être jugés et traités dans la fonction, et il n'est pas nécessaire d'écrire une fonction. Python dispose de plusieurs façons de transmettre des paramètres. Les paramètres par défaut/paramètres de variable/paramètres de mot-clé variable peuvent gérer le problème des paramètres de variable dans les paramètres de fonction.

Python a-t-il une surcharge ?

Le mécanisme de rechargement ajouté dans python3.4

Il existe un mécanisme de transfert dans python3.4 pour implémenter le rechargement

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)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn