Поєднання Позиційних та Необов’язкових Аргументів
Свайпніть щоб показати меню
Розгляд функції для обчислення загальної вартості смартфонів із можливістю вказати різні атрибути під час ініціалізації та виклику функції.
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. Як визначити функцію з позиційними аргументами, після яких йдуть необов'язкові аргументи?
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат