Remarque: Signification de spécifier uniquement * (astérisque) comme argument dans la définition de fonction de Python

Si vous ne le codez qu'occasionnellement, vous l'oublierez vite.

Il y a des moments où un seul * (astérisque) est spécifié dans l'argument de la définition de la fonction Python (parfois lorsque vous regardez la source de la bibliothèque standard):

def connect_accepted_socket(self, protocol_factory, sock, *, ssl=None):

c'est,

Les arguments après «» et « identificateur» sont des arguments de mots-clés uniquement et sont transmis uniquement en utilisant des arguments de mots-clés.

http://docs.python.jp/3/reference/compound_stmts.html#function-definitions

En d'autres termes, si vous mettez *, entre les deux, les arguments qui suivent sont "uniquement acceptés comme arguments de mot-clé" (non acceptés comme arguments de position).

>>> def foobar(a, b, *, c=False):
...     print(a if c else b)
... 
>>> foobar(1, 2)
2
>>> foobar(1, 2, c=True)
1
>>> foobar(1, 2, True)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: foobar() takes 2 positional arguments but 3 were given

Le mot "astérisque" sert à la recherche. Juste au cas où vous oublieriez le fait que vous avez fait ce post vous-même.

Recommended Posts

Remarque: Signification de spécifier uniquement * (astérisque) comme argument dans la définition de fonction de Python
Définition du type d'argument de fonction en python
Fonction Eval () qui calcule une chaîne de caractères comme expression en python
Récupérer l'appelant d'une fonction en Python
Correction des arguments de la fonction utilisée dans map
[Note] À propos du rôle du trait de soulignement "_" en Python
Python> fonction> Exemple de prise de fonction comme argument> map (lambda x: 2 ** x, [1, 2, 3]) / locals () ['myprint'] (3.1415, 2.718)
Définir la limite supérieure du nombre de répétitions de fonctions récursives en Python
Ne prenez pas une instance d'une classe d'exception Python directement comme argument de la classe d'exception!
Avoir le graphique d'équation de la fonction linéaire dessiné en Python
[Note] Importation de fichiers dans le répertoire parent en Python
Comprendre la fonction de convolution en utilisant le traitement d'image comme exemple
[python] Fonction de rappel (passez la fonction en argument)
Soyez prudent lorsque vous spécifiez la valeur d'argument par défaut dans la série Python 3
Comment connaître la structure interne d'un objet en Python
Paramètre de fonction uniquement pour l'astérisque '*'
Format lors du passage d'une longue chaîne comme argument de python
Essayez de transcrire la fonction de masse stochastique de la distribution binomiale en Python
Une fonction qui mesure le temps de traitement d'une méthode en python
Utilisation de lambda (lors du passage d'une fonction comme argument d'une autre fonction)
Obtenez la formule dans le fichier Excel sous forme de chaîne en Python
[Fabric] J'étais accro à l'utilisation de booléen comme argument, alors notez les contre-mesures.
Si vous voulez un singleton en python, considérez le module comme un singleton
Comparer la grammaire de base de Python et Go d'une manière facile à comprendre
Remarque Python: lorsque vous souhaitez connaître les attributs d'un objet
[Python] Calculez le nombre de chiffres requis lors de la saisie de 0 [Note]
Ouvrez un fichier Excel en Python et coloriez la carte du Japon
Un exemple de réponse à la question de référence de la session d'étude. Avec python.
[Python] Note: Fonction auto-conçue pour trouver la zone de distribution normale
Vérifiez le comportement du destroyer en Python
L'histoire d'une erreur dans PyOCR
Prenez la somme logique de List en Python (fonction zip)
[Python3] Réécrire l'objet code de la fonction
Le résultat de l'installation de python sur Anaconda
Principes de base pour exécuter NoxPlayer en Python
À la recherche du FizzBuzz le plus rapide en Python
Note Python: le rôle secret de Kamma
Ne spécifiez pas un objet mutable (type de liste, type de dictionnaire, etc.) comme valeur initiale de l'argument de fonction de python.
Vous serez ingénieur dans 100 jours - Jour 29 - Python - Bases du langage Python 5
Vous serez ingénieur dans 100 jours - Jour 33 - Python - Bases du langage Python 8
Vous serez ingénieur dans 100 jours --Jour 26 --Python --Basiques du langage Python 3
Vous serez ingénieur dans 100 jours --Jour 32 --Python --Basiques du langage Python 7
Vous serez ingénieur dans 100 jours --Jour 28 --Python --Les bases du langage Python 4
Sortie du nombre de cœurs de processeur en Python
Exemple de prise de Python> function> * args comme argument
[Note] Exportez le html du site avec python.
Faites correspondre la distribution de chaque groupe en Python
Afficher le résultat du traitement de la géométrie en Python
Spécification de la plage des tableaux ruby et python
Installez le package python dans un environnement hors ligne
Écrire une note sur la version python de python virtualenv
Découvrez la fraction de la valeur saisie en python
Ceci est le seul examen de base de Python ~ 1 ~