Arguments de mots-clés pour les fonctions Python

f(a, b, option1=10, option2=20)

À propos de la chose de base que vous souhaitez spécifier l'argument avec un mot-clé comme. L'option n'est pas spécifiée à chaque fois et je souhaite que la valeur par défaut soit utilisée si elle n'est pas spécifiée.

f(a, b) # option1,option2 ne doit pas être spécifiée

**kwargs

Quand je recherche, je trouve souvent quelque chose qui s'appelle «** kwargs».

def f(a, b, **kwargs): 
	option1 = kwargs.get('option1', 1)
	option2 = kwargs.get('option2', 2)

kwargs est un dictionnaire contenant des noms et des valeurs de mots-clés, et la valeur par défaut est spécifiée par la méthode get.

Cependant, «** kwargs» est «n'importe quoi», donc si vous l'orthographiez par inadvertance, une valeur par défaut involontaire sera utilisée.

f(a, b, opton1=10) #Option1 par défaut à 1 en raison d'une faute d'orthographe

Argument par défaut

En premier lieu, Python appelle les arguments par leur nom, vous ne devriez donc pas utiliser ** kwargs si vous connaissez les mots-clés.

def f(a, b, option1=1, option2=2): 
	pass

f(a, b, option1=10, option2=20)
f(a, b, opton1=10) #Il n'y a pas de mot clé pour l'erreur opton1

Cependant, ʻoption1` est aussi un argument fixe, donc si vous faites une erreur par inadvertance dans le nombre d'arguments, vous écraserez l'option.

f(a, b, c) #Mauvais nombre d'arguments, option non intentionnelle1=c

* Argument (Python3)

En Python3, en insérant «*», les variables suivantes ne peuvent être appelées que par des mots-clés.

def f(a, b, *, option1=1, option2=2): 
	pass

f(a, b, option1=10, option2=20)
f(a, b, c) #Deux variables fixes d'erreur
f(a, b, opton1=10) #Mot-clé qui n'existe pas

C'est pourquoi Python3 le recommande.

référence

http://stackoverflow.com/questions/1419046/python-normal-arguments-vs-keyword-arguments

Recommended Posts

Arguments de mots-clés pour les fonctions Python
Python #function 1 pour les super débutants
[Python of Hikari-] Chapitre 06-04 Fonctions (arguments et valeurs de retour 3)
Fonctions Python
[Python of Hikari-] Chapitre 06-03 Fonctions (arguments et valeurs de retour 2)
Azure Functions: essayez des fonctions durables pour Python
[Hikari-Python] <Supplement> Chapitre 06-05 Fonctions (arguments et valeurs de retour 4)
30/10/2016 else pour Python3> pour:
Extraction de mots-clés facile avec TermExtract pour Python
python> Arguments de mot clé> hoge (** {'a': 1, 'b': 2, 'c': 3})
# Bases de Python (fonctions)
[Débutant] Fonctions Python
Fonctions Python faciles à utiliser
bases de python: fonctions
Quand les fonctions python affectent-elles les arguments de l'appelant?
Je veux mémoriser, y compris les arguments de mots clés de Python
Astro: modules / fonctions python fréquemment utilisés pour l'analyse
À propos de Python for loop
Guide du débutant Python (fonctions)
Cours de base Python (12 fonctions)
À propos des arguments de fonction (python)
Bases de Python ② pour déclaration
[Python] Mémo sur les fonctions
Manuel python pour les débutants
Refactoring des outils utilisables avec Python
Python: à propos des arguments de fonction
Argument de position, argument de mot-clé, argument par défaut
Toolchain pour Python pour Android
Résumé des arguments Python
Fonctions intégrées Wrap Python
OpenCV pour les débutants en Python
Dictionnaire des arguments de mots clés
Installez Python (pour Windows)
[Python] pour une erreur d'instruction
Maintenance de l'environnement Python pour les projets
Python> arguments de position / arguments de mots clés> mixable> print (2, 3, 5, 7, 11, sep = '\ t', end = '')
[Introduction à Udemy Python3 + Application] 53. Dictionnaire des arguments de mots-clés
Erreur python d'aujourd'hui: argument de mot-clé non valide pour cette fonction
[Hikari-Python] Chapitre 06-01 Fonctions (fonctions intégrées et définitions de fonctions)
Curry n'importe quelle fonction avec Python ...
Python> lambda> petites fonctions / fonctions de rappel
Introduction aux fonctions Python
Mémo Python (pour moi): Array
Prise en charge de Fabric pour Python 3
Liste Python, pour instruction, dictionnaire
Python pour l'analyse des données Chapitre 4
Flux d'apprentissage pour les débutants en Python
Procédure d'installation de Python 3.6 [pour Windows]
Intégration BigQuery pour les utilisateurs Python
Plan d'apprentissage Python pour l'apprentissage de l'IA
Configurer pour Mac (Python)
Recevoir des arguments d'exécution dans Python 2.7
Mémo Python Tkinter (pour moi)
Installation d'OpenCV3 pour Python3 @macOS
Mémo de code personnel Python
Étude de Python Hour3: Fonctions
Construction de l'environnement Python pour Mac
Techniques de tri en Python