Argumentos opcionais em Python

Sahil Bhosale 30 janeiro 2023
  1. Função Python com vários argumentos opcionais
  2. Tornar os argumentos opcionais em Python
  3. Conclusão
Argumentos opcionais em Python

Em python, existe algo chamado de argumento padrão. Também é conhecido como argumento opcional ou parâmetro opcional em python. Um argumento ou parâmetro significa a mesma coisa. Você pode usar essas palavras de forma intercambiável. Um argumento ou parâmetro é uma entrada que uma função recebe.

Função Python com vários argumentos opcionais

Sempre que você chama uma função, você deve passar alguns argumentos para aquela função dependendo se a função recebe algum argumento ou não. Não é obrigatório passar um argumento para uma função. Uma função não pode aceitar nenhum argumento ou pode receber qualquer número de argumentos (dependendo de como a função é definida). Existem duas maneiras pelas quais podemos passar vários argumentos.

Use *args (argumentos sem palavra-chave)

# Function Defination
def myfunction(first_name, last_name, *args):
    print(first_name)
    print(last_name)
    for argument in args:
        print(argument)


# Calling the Function
myfunction("Tim", "White", 999888999, 30)

Resultado:

Tim
White
999888999
30

Use **kargs (argumentos de palavra-chave)

def myFunction(**kwargs):
    # printing all values which are passed in as an argument
    for key, value in kwargs.items():
        print("%s = %s" % (key, value))


# Calling the Function
myFunction(first_name="Tim", last_name="White", mob=99999999, age="30")

Resultado:

first_name = Tim
last_name = White
mob = 99999999
age = 30

Os *args e **kargs são ambos argumentos de comprimento variável usados ​​para passar o número variável de argumentos para uma função.

Ao criar uma função, você deve definir quantos parâmetros ou argumentos ela receberá como entrada. Esses são chamados de argumentos formais. E sempre que você chama essa função, você tem que passar alguns valores para essa função, e esses valores são chamados de argumentos reais.

Tornar os argumentos opcionais em Python

Digamos que você tenha uma função que recebe três argumentos ou parâmetros name, number e age como entrada.

# Function Defination
def personalDetails(name, number, age):
    print("This function takes 3 parameters as input")

Se você deseja chamar a função personalDetails, você deve passar todos os 3 parâmetros como uma entrada para essa função.

def personalDetails(name, number, age):
    print("This function takes 3 parameters as input")
    print("Name: ", name)
    print("Number: ", number)
    print("Age: ", age)


# Calling the function
personalDetails("Adam", 987654321, 18)

Resultado:

This function takes 3 parameters as input
Name: Adam
Number: 987654321
Age: 18

Aqui, ao chamar uma função, se você esqueceu ou esqueceu de passar algum dos parâmetros, você pode obter um erro (TypeError: personalDetails missing a required positional argument).

Se você não quiser passar sua Idade para a função acima como um argumento, você pode usar algo chamado argumento opcional. Você pode tornar qualquer número de argumentos ou parâmetros opcionais em python. Para tornar um argumento opcional, você deve atribuir algum valor padrão a esse argumento.

Aqui, para tornar o argumento age opcional, você pode adicionar um valor padrão ao argumento age na definição da função para torná-lo opcional. Neste caso, vamos inicializá-lo com 0 ou qualquer outro valor que você deseja. Agora, o Python irá considerar este argumento como um argumento opcional. Portanto, mesmo que não passe nenhum valor para o parâmetro age, a função funcionará, e utilizará o valor padrão, que neste caso é 0.

def personalDetails(name, number, age=0):
    print("Age is now an optional argument.")
    print("Age is: ", age)


# Calling the function
personalDetails("Sam", 123456789)

Resultado:

Age is now an optional argument.
Age is: 0

Mesmo se você quiser especificar o valor do argumento age ao chamar a função personalDetails, você pode fazer isso. E agora ele irá considerar o novo valor que você especificou em vez do valor padrão.

def personalDetails(name, number, age=0):
    print("Age is now an optional argument.")
    print("Age is: ", age)


# Calling the function
personalDetails("Sam", 123456789, 25)

Resultado:

Age is now an optional argument.
Age is: 25

Conclusão

Sempre que você inicializa qualquer argumento com um valor padrão, ele é conhecido como um argumento padrão. Isso eventualmente torna esse argumento opcional também, já que agora não é obrigatório passar um valor para esse argumento ao chamar a função. Isso é conhecido como um argumento opcional ou parâmetro opcional em Python.

Mas se você tiver passado algum valor para o argumento opcional ao chamar a função, a função receberá esse novo valor em vez do valor padrão.

Sahil Bhosale avatar Sahil Bhosale avatar

Sahil is a full-stack developer who loves to build software. He likes to share his knowledge by writing technical articles and helping clients by working with them as freelance software engineer and technical writer on Upwork.

LinkedIn

Artigo relacionado - Python Function