Conteúdo do Curso
Tutorial de Funções em Python
Tutorial de Funções em Python
Combinação de Argumentos Posicionais e Opcionais
Considere uma função projetada para calcular o custo total de smartphones, permitindo que você especifique vários atributos durante a inicialização e a invocação da função.
def 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)
Regras para Especificar Argumentos
Argumentos Posicionais
Argumentos posicionais devem ser especificados na ordem em que são definidos na declaração da função. Por exemplo, na função calculate_smartphone_cost
, model
e price
são argumentos posicionais obrigatórios.
Argumentos Opcionais (Nomeados)
Argumentos opcionais podem ser especificados tanto posicionalmente quanto usando parâmetros nomeados. No exemplo, quantity
e discount
são argumentos opcionais com valores padrão que podem ser alterados usando parâmetros nomeados durante a invocação da função.
Valores Padrão
Se um argumento opcional não for especificado durante a chamada da função, seu valor padrão será usado. Por exemplo, na função calculate_smartphone_cost
, se quantity
e discount
não forem fornecidos, eles automaticamente assumem os valores 1 e 0, respectivamente.
Parâmetros Nomeados
Parâmetros nomeados permitem a especificação precisa de valores para argumentos opcionais e determinam sua ordem de aparição. Isso melhora a clareza e a legibilidade do código, especialmente ao lidar com múltiplos parâmetros opcionais.
Este exemplo e as regras para especificar argumentos ilustram como usar efetivamente uma combinação de argumentos posicionais e nomeados (opcionais) para criar funções que oferecem flexibilidade e facilidade de uso, mantendo a clareza do código e o comportamento esperado.
1. Qual é a combinação de argumentos posicionais e opcionais em funções?
2. Como você define uma função com argumentos posicionais seguidos por argumentos opcionais?
Obrigado pelo seu feedback!