Como definir um parâmetro padrão em uma função em python

Resumo: neste tutorial, você aprenderá sobre os parâmetros padrão do Python para simplificar as chamadas de função.

Introdução aos parâmetros padrão do Python

Ao definir uma função, você pode especificar um valor padrão para cada parâmetro.

Para especificar valores padrão para parâmetros, use a seguinte sintaxe:

def function_name(param1, param2=value2, param3=value3, ...):

Nesta sintaxe, você especifica valores padrão (value2, value3, …) para cada parâmetro usando o operador de atribuição (=).

Quando você chama uma função e passa um argumento para o parâmetro que possui um valor padrão, a função usará esse argumento em vez do valor padrão.

No entanto, se você não passar o argumento, a função usará o valor padrão.

Para usar parâmetros padrão, você precisa colocar os parâmetros com os valores padrão após outros parâmetros. Caso contrário, você receberá um erro de sintaxe.

Por exemplo, você não pode fazer algo assim:

def function_name(param1=value1, param2, param3):

Isso causa um erro de sintaxe.

Exemplo de parâmetros padrão do Python

O exemplo a seguir define a função greet() que retorna uma mensagem de saudação:

def greet(name, message='Hi'):
    return f"{message} {name}"

A função greet() tem dois parâmetros: name e message. E o parâmetro message tem um valor padrão de 'Hi'.

O seguinte chama a função greet() e passa os dois argumentos:

def greet(name, message='Hi'):
    return f"{message} {name}"


greeting = greet('John', 'Hello')
print(greeting)

Saída:

Hello John

Como passamos o segundo argumento para a função greet(), a função usa o argumento em vez do valor padrão.

O exemplo a seguir chama a função greet() sem passar o segundo argumento:

def greet(name, message='Hi'):
    return f"{message} {name}"


greeting = greet('John')
print(greeting)

Saída:

Hi John

Nesse caso, a função greet() usa o valor padrão do parâmetro message.

Vários parâmetros padrão

O seguinte redefine a função greet() com os dois parâmetros que possuem valores padrão:

def greet(name='there', message='Hi'):
    return f"{message} {name}"

Neste exemplo, você pode chamar a função greet() sem passar nenhum parâmetro:

def greet(name='there', message='Hi'):
    return f"{message} {name}"


greeting = greet()
print(greeting)

Saída:

Hi there

Suponha que você queira que a função greet() retorne uma saudação como Hello there. Você pode criar a seguinte chamada de função:

def greet(name='there', message='Hi'):
    return f"{message} {name}"


greeting = greet('Hello')
print(greeting)

Infelizmente, ele retorna um valor inesperado:

Hi Hello

Porque quando você passa o argumento 'Hello', a função greet() o trata como o primeiro argumento, não o segundo.

Para resolver isso, você precisa chamar a função greet() usando argumentos de palavra-chave como este:

def greet(name='there', message='Hi'):
    return f"{message} {name}"


greeting = greet(message='Hello')
print(greeting)

Saída:

Hello there

Resumo

  • Use os parâmetros padrão do Python para simplificar as chamadas de função.
  • Coloque os parâmetros padrão após os parâmetros não padrão.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *