Python Language Arguments relatifs aux mots clés uniquement et aux mots clés


Exemple

Python 3 vous permet de définir des arguments de fonction qui ne peuvent être assignés que par mot-clé, même sans valeurs par défaut. Cela se fait en utilisant star * pour consommer des paramètres de position supplémentaires sans définir les paramètres du mot-clé. Tous les arguments après le * sont des arguments uniquement par mot clé (c'est-à-dire non positionnels). Notez que si les arguments contenant uniquement des mots clés ne sont pas définis par défaut, ils sont toujours requis lors de l'appel de la fonction.

def print_args(arg1, *args, keyword_required, keyword_only=True):
    print("first positional arg: {}".format(arg1))
    for arg in args:
        print("another positional arg: {}".format(arg))
    print("keyword_required value: {}".format(keyword_required))
    print("keyword_only value: {}".format(keyword_only))
    
print(1, 2, 3, 4) # TypeError: print_args() missing 1 required keyword-only argument: 'keyword_required'
print(1, 2, 3, keyword_required=4) 
# first positional arg: 1
# another positional arg: 2
# another positional arg: 3
# keyword_required value: 4
# keyword_only value: True