Зміст курсу
Вступ до Python
Вступ до Python
Зміна функцій
У програмуванні функції є динамічними інструментами, які можуть адаптуватися до різних ситуацій та потреб. Вони не є просто фіксованими блоками коду. Ви можете покращити функції, щоб зробити їх більш універсальними та зручними для користувача в різних контекстах.
У цьому розділі ми розглянемо деякі важливі техніки модифікації функцій, такі як використання аргументів за замовчуванням та ключових аргументів.
Почнемо з простого прикладу модифікації функцій, щоб покращити їх корисність у нашій системі управління продуктовим магазином:
Аргументи за замовчуванням
Аргументи за замовчуванням є корисною функцією в Python, яка дозволяє вказувати значення за замовчуванням для параметрів функції.
У функції apply_discount()
, параметр discount
встановлено на 0.10
за замовчуванням. Це означає, що функція автоматично застосує знижку 10%, якщо не вказано інше. Як видно з змінної default_discount_price
, ми можемо викликати функцію лише з параметром price
.
Однак, якщо потрібно, ми можемо перевизначити значення за замовчуванням, передавши як price
, так і індивідуальну discount
(наприклад, 0.20
для 20%), як показано у змінній custom_discount_price
.
# 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}")
Іменовані аргументи
Іменовані аргументи в Python дозволяють передавати аргументи, явно називаючи кожен параметр, що робить ваші виклики функцій більш читабельними та гнучкими. Це особливо корисно, коли функція має кілька параметрів або коли порядок аргументів може бути заплутаним.
У наступному прикладі вказані як price
, так і discount
, тоді як параметр tax
залишається зі значенням за замовчуванням, забезпечуючи гнучкість без шкоди для ясності.
# 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}")
Примітка
Порядок параметрів не має значення, коли вони передаються за допомогою іменованих аргументів.
Swipe to start coding
У цьому завданні ви створите серію функцій для розрахунку загальної вартості продукту, застосовуючи як знижку, так і податок. Ці функції використовуватимуть ключові аргументи та значення за замовчуванням для забезпечення гнучкості у їх використанні.
Інструкції до коду
- Визначте функцію
apply_discount()
, яка приймаєprice
та необов'язковий параметрdiscount
зі значенням за замовчуванням 0.05 (5%). Ця функція повинна повертати ціну після застосування знижки. - Визначте функцію
apply_tax()
, яка приймаєprice
та необов'язковий параметрtax
зі значенням за замовчуванням 0.07 (7%). Ця функція повинна повертати ціну після додавання податку. - Визначте функцію
calculate_total()
, яка приймаєprice
як обов'язковий параметр та необов'язкові параметриdiscount
іtax
зі значеннями за замовчуванням 0.05 та 0.07 відповідно. Ця функція повинна використовуватиapply_discount()
таapply_tax()
для обчислення загальної ціни після застосування як знижки, так і податку. - Використайте функцію
calculate_total()
з ціною120
, використовуючи значення знижки та податку за замовчуванням. - Викличте функцію
calculate_total()
знову з ціною100
, вказуючи спеціальну знижку 0.10 (10%) та податок 0.08 (8%) за допомогою ключових аргументів.
Вимоги до виводу
- Виведіть загальну вартість зі знижкою та податком за замовчуванням, використовуючи повідомлення:
Total cost with default discount and tax: $<total_price_default>
- Виведіть загальну вартість зі спеціальною знижкою та податком, використовуючи повідомлення:
Total cost with custom discount and tax: $<total_price_custom>
Примітка
При визначенні функцій з як звичайними, так і параметрами за замовчуванням, завжди розміщуйте звичайні параметри першими, а потім параметри за замовчуванням. Так само, при виклику функції з ключовими аргументами, звичайні параметри повинні передаватися першими, а потім ключові аргументи.
Рішення
Дякуємо за ваш відгук!
Зміна функцій
У програмуванні функції є динамічними інструментами, які можуть адаптуватися до різних ситуацій та потреб. Вони не є просто фіксованими блоками коду. Ви можете покращити функції, щоб зробити їх більш універсальними та зручними для користувача в різних контекстах.
У цьому розділі ми розглянемо деякі важливі техніки модифікації функцій, такі як використання аргументів за замовчуванням та ключових аргументів.
Почнемо з простого прикладу модифікації функцій, щоб покращити їх корисність у нашій системі управління продуктовим магазином:
Аргументи за замовчуванням
Аргументи за замовчуванням є корисною функцією в Python, яка дозволяє вказувати значення за замовчуванням для параметрів функції.
У функції apply_discount()
, параметр discount
встановлено на 0.10
за замовчуванням. Це означає, що функція автоматично застосує знижку 10%, якщо не вказано інше. Як видно з змінної default_discount_price
, ми можемо викликати функцію лише з параметром price
.
Однак, якщо потрібно, ми можемо перевизначити значення за замовчуванням, передавши як price
, так і індивідуальну discount
(наприклад, 0.20
для 20%), як показано у змінній custom_discount_price
.
# 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}")
Іменовані аргументи
Іменовані аргументи в Python дозволяють передавати аргументи, явно називаючи кожен параметр, що робить ваші виклики функцій більш читабельними та гнучкими. Це особливо корисно, коли функція має кілька параметрів або коли порядок аргументів може бути заплутаним.
У наступному прикладі вказані як price
, так і discount
, тоді як параметр tax
залишається зі значенням за замовчуванням, забезпечуючи гнучкість без шкоди для ясності.
# 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}")
Примітка
Порядок параметрів не має значення, коли вони передаються за допомогою іменованих аргументів.
Swipe to start coding
У цьому завданні ви створите серію функцій для розрахунку загальної вартості продукту, застосовуючи як знижку, так і податок. Ці функції використовуватимуть ключові аргументи та значення за замовчуванням для забезпечення гнучкості у їх використанні.
Інструкції до коду
- Визначте функцію
apply_discount()
, яка приймаєprice
та необов'язковий параметрdiscount
зі значенням за замовчуванням 0.05 (5%). Ця функція повинна повертати ціну після застосування знижки. - Визначте функцію
apply_tax()
, яка приймаєprice
та необов'язковий параметрtax
зі значенням за замовчуванням 0.07 (7%). Ця функція повинна повертати ціну після додавання податку. - Визначте функцію
calculate_total()
, яка приймаєprice
як обов'язковий параметр та необов'язкові параметриdiscount
іtax
зі значеннями за замовчуванням 0.05 та 0.07 відповідно. Ця функція повинна використовуватиapply_discount()
таapply_tax()
для обчислення загальної ціни після застосування як знижки, так і податку. - Використайте функцію
calculate_total()
з ціною120
, використовуючи значення знижки та податку за замовчуванням. - Викличте функцію
calculate_total()
знову з ціною100
, вказуючи спеціальну знижку 0.10 (10%) та податок 0.08 (8%) за допомогою ключових аргументів.
Вимоги до виводу
- Виведіть загальну вартість зі знижкою та податком за замовчуванням, використовуючи повідомлення:
Total cost with default discount and tax: $<total_price_default>
- Виведіть загальну вартість зі спеціальною знижкою та податком, використовуючи повідомлення:
Total cost with custom discount and tax: $<total_price_custom>
Примітка
При визначенні функцій з як звичайними, так і параметрами за замовчуванням, завжди розміщуйте звичайні параметри першими, а потім параметри за замовчуванням. Так само, при виклику функції з ключовими аргументами, звичайні параметри повинні передаватися першими, а потім ключові аргументи.
Рішення
Дякуємо за ваш відгук!