Qu'est-ce qu'un argument en Python ?

Un argument est un objet, donné à une fonction ou à une méthode lors de son appel.

Il existe deux types d'arguments : les arguments nommés et les arguments positionnels.

Les arguments nommés

Un argument nommé est un argument précédé d'un nom (aussi appelé identifiant) lors de l'appel d'une fonction.

def puissance(nombre, facteur):
    return nombre ** facteur
print(puissance(nombre=5, facteur=2))

Les arguments nommés peuvent être inversés lors de l'appel de la fonction. Ils n'ont pas obligation de suivre l'ordre défini par les paramètres dans la définition de la fonction. Ainsi, le code suivant est valide et produit le même résultat :

def puissance(nombre, facteur):
    return nombre ** facteur

print(puissance(facteur=2, nombre=5))

Les arguments positionnels

À l'inverse, les arguments dits « positionnels », ne sont pas nommés et sont donc définis uniquement par la position qu'ils occupent lors de l'appel d'une fonction.

Dans l'exemple ci-dessous, en changeant l'ordre des arguments envoyés à la fonction calcul, le résultat obtenu est différent (car on inverse les valeurs envoyées respectivement au paramètre a et au paramètre b) :

def puissance(nombre, facteur):
    return nombre ** facteur

print(puissance(5, 2))
print(puissance(2, 5))

Il ne faut pas confondre les arguments avec les paramètres.