Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Поєднання Позиційних та Іменованих Довільних Аргументів | Довільні Аргументи
Підручник з Функцій Python

bookПоєднання Позиційних та Іменованих Довільних Аргументів

Свайпніть щоб показати меню

Розгляньте функцію, яка обчислює загальну вартість декількох товарів, дозволяючи передавати будь-яку кількість цін і додаткові ключові параметри, такі як знижки або податки.

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

Правила комбінування довільних аргументів

Довільні позиційні аргументи (*args)

*args збирає всі додаткові позиційні аргументи у кортеж. У цьому прикладі функція може приймати будь-яку кількість цін товарів без необхідності явно їх визначати.

Наприклад:

calculate_total_cost(500, 250, 100)

Тут *prices стає (500, 250, 100).

Довільні іменовані аргументи (**kwargs)

**kwargs збирає всі іменовані (ключові) аргументи у словник. Це дозволяє функції приймати додаткові іменовані параметри, такі як discount або tax, навіть якщо вони не були визначені заздалегідь.

Наприклад:

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

Тут **settings стає {'discount': 10, 'tax': 5}.

Комбінування обох

Можна використовувати і *args, і **kwargs в одній функції для досягнення максимальної гнучкості — це дозволяє обробляти будь-яку кількість позиційних значень і будь-яку комбінацію іменованих параметрів.

question mark

Що таке комбінація позиційних і іменованих довільних аргументів у функціях?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 3. Розділ 3

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Секція 3. Розділ 3
some-alt