Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Модифікація Функцій | Функції
Вступ до Python

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

book
Модифікація Функцій

У програмуванні функції — це динамічні інструменти, які можуть адаптуватися до різних ситуацій та потреб. Вони не є лише фіксованими блоками коду. Функції можна вдосконалювати, щоб зробити їх більш універсальними та зручними для користувача у різних контекстах.

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

Почнемо з простого прикладу модифікації функцій для підвищення їхньої корисності в нашій системі управління продуктовим магазином:

Аргументи за замовчуванням

Аргументи за замовчуванням — це корисна можливість у Python, яка дозволяє вказувати значення за замовчуванням для параметрів функції.

У функції apply_discount() параметр discount встановлений на 0.10 за замовчуванням. Це означає, що функція автоматично застосує знижку 10%, якщо не вказано інше. Як видно у змінній default_discount_price, ми можемо викликати функцію лише з параметром price.

Однак, за потреби, ми можемо перевизначити значення за замовчуванням, передавши як price, так і власний discount (наприклад, 0.20 для 20%), як показано у змінній custom_discount_price.

123456789101112
# Define a function with a default `discount` argument def apply_discount(price, discount=0.10): discounted_price = price * (1 - discount) return discounted_price # Call the function without providing a `discount`, using the default value default_discount_price = apply_discount(100) print(f"Price after applying the default discount: ${default_discount_price}") # Call the function with a custom `discount` value custom_discount_price = apply_discount(100, 0.20) print(f"Price after applying a custom discount: ${custom_discount_price}")
copy

Іменовані аргументи

Іменовані аргументи в Python дозволяють передавати аргументи, явно вказуючи ім'я кожного параметра, що робить виклики функцій більш зрозумілими та гнучкими. Це особливо корисно, коли функція має кілька параметрів або коли порядок аргументів може бути заплутаним.

У наступному прикладі явно вказані як price, так і discount, тоді як параметр tax залишається зі значенням за замовчуванням, забезпечуючи гнучкість без втрати зрозумілості.

12345678
# Function where `tax` has a default value def calculate_total(price, discount, tax=0.05): total = price * (1 + tax) * (1 - discount) return total # Calling the function using keyword arguments total_cost = calculate_total(price=100, discount=0.15) print(f"Total cost after applying discount: ${total_cost}")
copy

Примітка

Порядок параметрів не має значення, якщо вони передаються як іменовані аргументи.

Завдання

Swipe to start coding

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

  • Визначити apply_discount(price, discount=0.05)
    → Повертає ціну після застосування знижки.
  • Визначити apply_tax(price, tax=0.07)
    → Повертає ціну після додавання податку.
  • Визначити calculate_total(price, discount=0.05, tax=0.07)
    → Використовує apply_discount() та apply_tax() для повернення загальної ціни із застосованими знижкою та податком.
  • Викликати calculate_total(120) із використанням знижки та податку за замовчуванням.
  • Викликати calculate_total(100, discount=0.10, tax=0.08) із власними значеннями через іменовані аргументи.

Вимоги до виводу

  • Вивести результат зі значеннями за замовчуванням:
    Total cost with default discount and tax: $<total_price_default>
  • Вивести результат із власними значеннями:
    Total cost with custom discount and tax: $<total_price_custom>

Примітка

При визначенні функцій спочатку розміщуйте обов'язкові параметри, а потім параметри зі значеннями за замовчуванням.

При виклику функцій з іменованими аргументами позиційні аргументи повинні передувати іменованим.

Рішення

Switch to desktopПерейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
Все було зрозуміло?

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

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

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

Запитати АІ

expand
ChatGPT

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

book
Модифікація Функцій

У програмуванні функції — це динамічні інструменти, які можуть адаптуватися до різних ситуацій та потреб. Вони не є лише фіксованими блоками коду. Функції можна вдосконалювати, щоб зробити їх більш універсальними та зручними для користувача у різних контекстах.

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

Почнемо з простого прикладу модифікації функцій для підвищення їхньої корисності в нашій системі управління продуктовим магазином:

Аргументи за замовчуванням

Аргументи за замовчуванням — це корисна можливість у Python, яка дозволяє вказувати значення за замовчуванням для параметрів функції.

У функції apply_discount() параметр discount встановлений на 0.10 за замовчуванням. Це означає, що функція автоматично застосує знижку 10%, якщо не вказано інше. Як видно у змінній default_discount_price, ми можемо викликати функцію лише з параметром price.

Однак, за потреби, ми можемо перевизначити значення за замовчуванням, передавши як price, так і власний discount (наприклад, 0.20 для 20%), як показано у змінній custom_discount_price.

123456789101112
# Define a function with a default `discount` argument def apply_discount(price, discount=0.10): discounted_price = price * (1 - discount) return discounted_price # Call the function without providing a `discount`, using the default value default_discount_price = apply_discount(100) print(f"Price after applying the default discount: ${default_discount_price}") # Call the function with a custom `discount` value custom_discount_price = apply_discount(100, 0.20) print(f"Price after applying a custom discount: ${custom_discount_price}")
copy

Іменовані аргументи

Іменовані аргументи в Python дозволяють передавати аргументи, явно вказуючи ім'я кожного параметра, що робить виклики функцій більш зрозумілими та гнучкими. Це особливо корисно, коли функція має кілька параметрів або коли порядок аргументів може бути заплутаним.

У наступному прикладі явно вказані як price, так і discount, тоді як параметр tax залишається зі значенням за замовчуванням, забезпечуючи гнучкість без втрати зрозумілості.

12345678
# Function where `tax` has a default value def calculate_total(price, discount, tax=0.05): total = price * (1 + tax) * (1 - discount) return total # Calling the function using keyword arguments total_cost = calculate_total(price=100, discount=0.15) print(f"Total cost after applying discount: ${total_cost}")
copy

Примітка

Порядок параметрів не має значення, якщо вони передаються як іменовані аргументи.

Завдання

Swipe to start coding

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

  • Визначити apply_discount(price, discount=0.05)
    → Повертає ціну після застосування знижки.
  • Визначити apply_tax(price, tax=0.07)
    → Повертає ціну після додавання податку.
  • Визначити calculate_total(price, discount=0.05, tax=0.07)
    → Використовує apply_discount() та apply_tax() для повернення загальної ціни із застосованими знижкою та податком.
  • Викликати calculate_total(120) із використанням знижки та податку за замовчуванням.
  • Викликати calculate_total(100, discount=0.10, tax=0.08) із власними значеннями через іменовані аргументи.

Вимоги до виводу

  • Вивести результат зі значеннями за замовчуванням:
    Total cost with default discount and tax: $<total_price_default>
  • Вивести результат із власними значеннями:
    Total cost with custom discount and tax: $<total_price_custom>

Примітка

При визначенні функцій спочатку розміщуйте обов'язкові параметри, а потім параметри зі значеннями за замовчуванням.

При виклику функцій з іменованими аргументами позиційні аргументи повинні передувати іменованим.

Рішення

Switch to desktopПерейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
Все було зрозуміло?

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

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

Секція 6. Розділ 6
Switch to desktopПерейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
Ми дуже хвилюємося, що щось пішло не так. Що трапилося?
some-alt