Argumentos padrão e nomeados

Python intermediário para desenvolvedores

Jasmin Ludolf

Senior Data Science Content Developer

Média

# Criar uma função personalizada
def average(values):
    # Calcular a média
    average_value = sum(values) / len(values)

    # Arredondar o resultado
    rounded_average = round(average_value, 2)

    # Retornar rounded_average como saída
    return rounded_average
  • values = Argumento
Python intermediário para desenvolvedores

Argumentos

  • Valores passados para uma função ou método
    • Posicionais
    • Nomeados
Python intermediário para desenvolvedores

Argumentos posicionais

  • Fornece argumentos em ordem, separados por vírgulas
# Arredonda pi para 2 casas
print(round(3.1415926535, 2))
3.14
Python intermediário para desenvolvedores

Argumentos nomeados

  • Fornece argumentos atribuindo valores a keywords

  • Útil para interpretar e rastrear argumentos

# Arredonda pi para 2 casas 
print(round(number=3.1415926535
Python intermediário para desenvolvedores

Argumentos nomeados

  • Fornece argumentos atribuindo valores a keywords

  • Útil para interpretar e rastrear argumentos

# Arredonda pi para 2 casas 
print(round(number=3.1415926535, ndigits=2))
3.14
Python intermediário para desenvolvedores

Identificando argumentos nomeados

# Obter mais informações sobre a função help
print(help(round))
Help on built-in function round in module builtins:

round(number, ndigits=None)
    Round a number to a given precision in decimal digits.

    The return value is an integer if ndigits is omitted or None.  Otherwise,
    the return value has the same type as the number.  ndigits may be negative.
Python intermediário para desenvolvedores

Argumentos nomeados

Help on built-in function round in module builtins:

round(number, ndigits=None)
  Round a number to a given precision in decimal digits.

  The return value is an integer if ndigits is omitted or None. Otherwise 
  the return value has the same type as the number. ndigits may be negative.

$$

  • Primeiro argumento: number
  • Segundo argumento: ndigits
Python intermediário para desenvolvedores

Argumentos padrão

Help on built-in function round in module builtins:

round(number, ndigits=None)
    Round a number to a given precision in decimal digits.

    The return value is an integer if ndigits is omitted or None.  Otherwise,
    the return value has the same type as the number.  ndigits may be negative.
  • None = sem valor / vazio

  • Argumento padrão: forma de definir um valor default para um argument

  • Substituímos None por 2

  • Valor usado com frequência: define com um argumento padrão

Python intermediário para desenvolvedores

Adicionando um argumento

# Criar uma função personalizada
def average(values):
    average_value = sum(values) / len(values)
    rounded_average = round(average_value, 2)
    return rounded_average
Python intermediário para desenvolvedores

Adicionando um argumento

# Criar uma função personalizada
def average(values, rounded=False):


Python intermediário para desenvolvedores

Adicionando um argumento

# Criar uma função personalizada
def average(values, rounded=False):

# Arredonda para duas casas se rounded for True if rounded == True:
average_value = sum(values) / len(values) rounded_average = round(average_value, 2) return rounded_average
Python intermediário para desenvolvedores

Adicionando um argumento

# Criar uma função personalizada
def average(values, rounded=False):

# Arredonda para duas casas se rounded for True if rounded == True: average_value = sum(values) / len(values) rounded_average = round(average_value, 2) return rounded_average
# Caso contrário, não arredonda else: average_value = sum(values) / len(values) return average_value
Python intermediário para desenvolvedores

Usando a função average() modificada

# Lista de tempos de preparo (minutos)
preparation_times = [19.23, 15.67, 48.57, 23.45, 12.06, 34.56, 45.67]
Python intermediário para desenvolvedores

Usando a função average() modificada

# Obter a média sem arredondar
print(average(preparation_times, False))
28.4585714
# Obter a média sem arredondar
print(average(preparation_times))
28.4585714
Python intermediário para desenvolvedores

Usando a função average() modificada

# Obter a média arredondada
print(average(values=preparation_times, rounded=True))
28.46
Python intermediário para desenvolvedores

Vamos praticar!

Python intermediário para desenvolvedores

Preparing Video For Download...