Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Combinaison d'Arguments Arbitraires Positionnels et Nommés | Arguments Arbitraires
Tutoriel sur les Fonctions Python

bookCombinaison d'Arguments Arbitraires Positionnels et Nommés

Considérez une fonction qui calcule le coût total de plusieurs articles tout en vous permettant de passer un nombre quelconque de prix et des paramètres optionnels tels que des remises ou des taxes.

12345678910111213141516171819202122232425
def calculate_total_cost(*prices, **settings): subtotal = sum(prices) discount = settings.get("discount", 0) tax = settings.get("tax", 0) discount_amount = subtotal * (discount / 100) taxed_amount = (subtotal - discount_amount) * (1 + tax / 100) print(f"Subtotal: ${subtotal:.2f}") if discount > 0: print(f"Discount: {discount}% (-${discount_amount:.2f})") else: print("No discount applied.") if tax > 0: print(f"Tax: {tax}% (+${taxed_amount - (subtotal - discount_amount):.2f})") print(f"Final total: ${taxed_amount:.2f}") print() # Examples of using the function calculate_total_cost(1000, 250, 50) calculate_total_cost(1200, 800, discount=10) calculate_total_cost(500, 750, 250, discount=5, tax=8)
copy

Règles pour combiner des arguments arbitraires

Arguments positionnels arbitraires (*args)

*args collecte tous les arguments positionnels supplémentaires dans un tuple. Dans cet exemple, la fonction peut accepter un nombre quelconque de prix d'articles sans avoir à les définir explicitement.

Par exemple :

calculate_total_cost(500, 250, 100)

Ici, *prices devient (500, 250, 100).

Arguments arbitraires nommés (**kwargs)

**kwargs collecte tous les arguments nommés (par mot-clé) dans un dictionnaire. Cela permet à la fonction d'accepter des paramètres nommés supplémentaires comme discount ou tax, même s'ils n'ont pas été prédéfinis.

Par exemple :

calculate_total_cost(1000, 500, discount=10, tax=5)

Ici, **settings devient {'discount': 10, 'tax': 5}.

Combinaison des deux

Il est possible d'utiliser à la fois *args et **kwargs dans la même fonction pour obtenir une flexibilité maximale — permettant de gérer n'importe quel nombre de valeurs positionnelles et toute combinaison de paramètres nommés.

question mark

Quelle est la combinaison des arguments arbitraires positionnels et nommés dans les fonctions ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 3

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Suggested prompts:

Can you explain how the function handles both discounts and taxes together?

What happens if I don't provide any keyword arguments?

Can you show more examples of calling this function with different arguments?

Awesome!

Completion rate improved to 4.17

bookCombinaison d'Arguments Arbitraires Positionnels et Nommés

Glissez pour afficher le menu

Considérez une fonction qui calcule le coût total de plusieurs articles tout en vous permettant de passer un nombre quelconque de prix et des paramètres optionnels tels que des remises ou des taxes.

12345678910111213141516171819202122232425
def calculate_total_cost(*prices, **settings): subtotal = sum(prices) discount = settings.get("discount", 0) tax = settings.get("tax", 0) discount_amount = subtotal * (discount / 100) taxed_amount = (subtotal - discount_amount) * (1 + tax / 100) print(f"Subtotal: ${subtotal:.2f}") if discount > 0: print(f"Discount: {discount}% (-${discount_amount:.2f})") else: print("No discount applied.") if tax > 0: print(f"Tax: {tax}% (+${taxed_amount - (subtotal - discount_amount):.2f})") print(f"Final total: ${taxed_amount:.2f}") print() # Examples of using the function calculate_total_cost(1000, 250, 50) calculate_total_cost(1200, 800, discount=10) calculate_total_cost(500, 750, 250, discount=5, tax=8)
copy

Règles pour combiner des arguments arbitraires

Arguments positionnels arbitraires (*args)

*args collecte tous les arguments positionnels supplémentaires dans un tuple. Dans cet exemple, la fonction peut accepter un nombre quelconque de prix d'articles sans avoir à les définir explicitement.

Par exemple :

calculate_total_cost(500, 250, 100)

Ici, *prices devient (500, 250, 100).

Arguments arbitraires nommés (**kwargs)

**kwargs collecte tous les arguments nommés (par mot-clé) dans un dictionnaire. Cela permet à la fonction d'accepter des paramètres nommés supplémentaires comme discount ou tax, même s'ils n'ont pas été prédéfinis.

Par exemple :

calculate_total_cost(1000, 500, discount=10, tax=5)

Ici, **settings devient {'discount': 10, 'tax': 5}.

Combinaison des deux

Il est possible d'utiliser à la fois *args et **kwargs dans la même fonction pour obtenir une flexibilité maximale — permettant de gérer n'importe quel nombre de valeurs positionnelles et toute combinaison de paramètres nommés.

question mark

Quelle est la combinaison des arguments arbitraires positionnels et nommés dans les fonctions ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 3
some-alt