0Pricing
Python Academy · Leçon

Arguments par défaut et arguments nommés

Utilisez des valeurs de paramètres par défaut et la syntaxe d’appel avec arguments nommés.

Arguments par défaut et arguments nommés est une leçon Python Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Python Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Python Academy comprend 4 leçons au total.

Introduction

Les valeurs par défaut des paramètres et la syntaxe des appels avec arguments nommés rendent les fonctions Python flexibles et explicites.

Valeurs par défaut des paramètres

def greet(name, greeting='Hello'): attribue une valeur par défaut à greeting. Les appelants peuvent omettre cet argument.
def greet(name, greeting='Hello'):
    print(f'{greeting}, {name}!')
greet('Alice')
greet('Bob', 'Hi')

Arguments nommés

Appelez la fonction en indiquant les noms : greet(name='Alice', greeting='Hi'). L'ordre n'a pas d'importance lorsque vous utilisez des arguments nommés.
def describe(name, age, city):
    print(f'{name}, {age}, {city}')
describe(age=30, city='NYC', name='Alice')

Mélanger arguments positionnels et nommés

Les arguments positionnels doivent précéder les arguments nommés dans l'appel. describe('Alice', city='NYC', age=30) est valide.
def f(a, b, c='default'):
    print(a, b, c)
f(1, c='X', b=2)

Piège des valeurs par défaut modifiables

NEVER utilisez de valeurs par défaut modifiables : def f(lst=[]) partage la même liste entre tous les appels. Utilisez plutôt def f(lst=None): lst = lst or [].
def append(x, lst=None):
    if lst is None:
        lst = []
    lst.append(x)
    return lst
print(append(1))
print(append(2))

Arguments uniquement nommés

Les paramètres placés après * doivent être appelés par leur nom : def f(a, *, b): seul b ne peut pas être positionnel. Cela impose davantage de clarté.
def f(a, *, b):
    return a + b
print(f(1, b=2))

Arguments uniquement positionnels (3.8+)

Les paramètres placés avant / doivent être positionnels : def f(a, b, /, c): a et b ne peuvent pas être appelés par leur nom.
def f(a, b, /, c=0):
    return a + b + c
print(f(1, 2, c=3))

**kwargs

def f(**kwargs) rassemble les arguments nommés supplémentaires dans un dictionnaire. C'est utile pour transmettre des options.
def show(**kwargs):
    for k, v in kwargs.items():
        print(f'{k}={v}')
show(name='Alice', age=30)

Combiner *args et **kwargs

def f(*args, **kwargs) accepte toute combinaison d'arguments positionnels et nommés.
def debug(*args, **kwargs):
    print('args:', args)
    print('kwargs:', kwargs)
debug(1,2,x=3)

Décomposition dans les appels

f(*[1,2,3]) répartit une liste en arguments positionnels. f(**{'a':1}) répartit un dictionnaire en arguments nommés.
def add(a, b, c): return a+b+c
d = {'a':1,'b':2,'c':3}
print(add(**d))

Application partielle

from functools import partial; double = partial(pow, exp=2) fixe certains arguments à l'avance.
from functools import partial
def power(base, exp): return base ** exp
square = partial(power, exp=2)
print(square(5))

Vérification rapide

Quel est le danger d'utiliser un argument par défaut modifiable comme def f(lst=[]) ?

Récapitulatif

Arguments par défaut : def f(x=val). Appels nommés : f(x=val). Évitez les valeurs par défaut modifiables. Utilisez * pour les paramètres uniquement nommés, / pour les paramètres uniquement positionnels et **kwargs pour rassembler les arguments supplémentaires.

Continuez ainsi

Excellent travail ! Passez à la leçon suivante pour continuer à progresser.

Questions Fréquemment Posées

La leçon « Arguments par défaut et arguments nommés » est-elle gratuite ?

Oui — le texte complet de « Arguments par défaut et arguments nommés » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Python Academy, passe à CoddyKit PRO. Le cours Python Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Arguments par défaut et arguments nommés » ?

Utilisez des valeurs de paramètres par défaut et la syntaxe d’appel avec arguments nommés. Tu pratiques Python Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Python Academy ?

Aucune expérience préalable n'est requise. Python Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.

Combien de temps prend la leçon « Arguments par défaut et arguments nommés » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Python Academy ?

Oui. Chaque leçon Python Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Définir et appeler des fonctions
  2. Arguments par défaut et arguments nommés
  3. args et kwargs
  4. Valeurs de retour et portée
← Retour à Python Academy