Поєднання Позиційних та Необов’язкових Аргументів
Свайпніть щоб показати меню
Розгляньте функцію, призначену для обчислення загальної вартості смартфонів, яка дозволяє вказувати різні атрибути як під час ініціалізації, так і при виклику функції.
123456789101112131415161718192021222324def calculate_smartphone_cost(model, price, quantity=1, discount=0): total_cost = price * quantity discount_amount = total_cost * (discount / 100) discounted_cost = total_cost - discount_amount print(f"Model: {model}") print(f"Unit price: ${price}") print(f"Quantity: {quantity}") print(f"Total cost before discount: ${total_cost}") if discount > 0: print(f"Discount: {discount}%") print(f"Discount amount: ${discount_amount}") print(f"Discounted cost: ${discounted_cost}") else: print("No discount applied.") print(f"Final cost: ${discounted_cost}") print() # Examples of using the function calculate_smartphone_cost("iPhone 13", 1099, 2) calculate_smartphone_cost("Samsung Galaxy S21", 999, 1, 10) calculate_smartphone_cost("Google Pixel 6", 799, quantity=3, discount=5)
Правила вказування аргументів
Позиційні аргументи
Позиційні аргументи повинні відповідати порядку у визначенні функції. У calculate_smartphone_cost аргументи model та price є обов'язковими позиційними аргументами.
Необов'язкові (іменовані) аргументи
Необов'язкові аргументи можна передавати як позиційно, так і за іменем. quantity та discount мають значення за замовчуванням, які можна змінити за допомогою іменованих параметрів.
Значення за замовчуванням
Якщо необов'язковий аргумент пропущено, використовується його значення за замовчуванням. У прикладі quantity за замовчуванням дорівнює 1, а discount — 0.
Іменовані параметри
Іменовані параметри підвищують зрозумілість, оскільки явно призначають значення, особливо коли існує кілька необов'язкових аргументів.
Ці правила демонструють, як поєднання позиційних та іменованих аргументів забезпечує гнучкість і читабельність функцій.
1. Що таке поєднання позиційних та необов'язкових аргументів у функціях?
2. Як визначити функцію з позиційними аргументами, після яких ідуть необов'язкові?
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат