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

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

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
some-alt