Maison > Article > développement back-end > Python a-t-il une surcharge ?
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.
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!