Arguments et Mots-clés Python

Arguments et mots-clés Python expliqués simplement

*args et **kwargs peuvent sembler effrayants, mais la vérité est qu'ils ne sont pas si difficiles à comprendre et ont le pouvoir de donner beaucoup de flexibilité à vos fonctions.

Lisez l’article Python *args et **kwargs expliqués simplement pour une introduction plus approfondie.

Args et Kwargs

*args et **kwargs vous permettent de passer un nombre indéfini d’arguments positionnels et de mots-clés lors de l’appel d’une fonction.

# Définir une fonction qui accepte n'importe quel nombre d'arguments positionnels et de mots-clés
def some_function(*args, **kwargs):
    pass

# Appel avec un nombre quelconque d'arguments positionnels
some_function(arg1, arg2, arg3)

# Appel avec un nombre quelconque d'arguments de mots-clés
some_function(key1=arg1, key2=arg2, key3=arg3)

# Appel avec des arguments positionnels et des arguments de mots-clés
some_function(arg, key1=arg1)

# Ou appel sans aucun argument
some_function()

Conventions Python

Les mots *args et **kwargs sont des conventions. Ils ne sont pas imposés par l'interpréteur, mais considérés comme une bonne pratique par la communauté Python.

Args

Vous pouvez accéder aux arguments via la variable args :

# *args collecte les arguments positionnels dans un tuple
def some_function(*args):
    print(f'Arguments passés: {args} en tant que {type(args)}')

# Passer plusieurs arguments - ils seront collectés dans le tuple args
some_function('arg1', 'arg2', 'arg3')
Arguments passés: ('arg1', 'arg2', 'arg3') en tant que <class 'tuple'>
Quiz

Connectez-vous pour répondre à ce quiz et suivre votre progression d'apprentissage

Quel type de données *args utilise pour collecter les arguments ?
A. Une liste
B. Un tuple
C. Un dictionnaire
D. Un ensemble (set)

Kwargs

Les mots-clés sont accessibles via la variable kwargs :

# **kwargs collecte les arguments de mots-clés dans un dictionnaire
def some_function(**kwargs):
    print(f'Mots-clés: {kwargs} en tant que {type(kwargs)}')

# Passer des arguments de mots-clés - ils seront collectés dans le dict kwargs
some_function(key1='arg1', key2='arg2')
Mots-clés: {'key1': 'arg1', 'key2': 'arg2'} en tant que <class 'dict'>
Quiz

Connectez-vous pour répondre à ce quiz et suivre votre progression d'apprentissage

Quel type de données **kwargs utilise pour collecter les arguments ?
A. Une liste
B. Un tuple
C. Un dictionnaire
D. Un ensemble (set)

Liens pertinents