Pesquisa de site

Palavra-chave e argumento posicional em Python


Python, sendo uma linguagem de programação extremamente adaptável, conhecida por sua versatilidade e ampla gama de aplicações, oferece vários métodos para passar argumentos para funções. Dois métodos frequentemente usados são argumentos de palavras-chave e argumentos posicionais. Ter uma compreensão das distinções entre esses dois tipos de argumentos é crucial para escrever um código limpo. Neste tutorial, aprenderemos sobre palavras-chave e argumentos posicionais em Python.

Argumentos posicionais

Argumentos posicionais são o tipo fundamental de argumentos em Python. Quando você chama uma função e passa argumentos sem especificar seus nomes, o Python combina os argumentos com base em suas posições. A ordem dos argumentos deve corresponder à ordem dos parâmetros definidos na definição da função ou na assinatura da função.

Vejamos alguns exemplos para entender melhor os argumentos posicionais:

Exemplo

Neste exemplo, criaremos uma função que terá dois parâmetros nome de usuário e idade do usuário, a função irá verificar se o usuário é elegível para votação eleitoral ou não.

def check_eligibility(name, age):
    print("Hello",name)
    if(age<18):
        print("You are not allowed to vote.")
    else:
        print("You are allowed to vote.")

check_eligibility("Mohan", 25)

Saída

Hello Mohan
You are allowed to vote.

Explicação

No código acima, a função check_eligibility() aceita dois argumentos posicionais: nome e idade. Quando chamamos a função check_eligibility() e passamos os argumentos "Mohan" e 25, o Python combina "Mohan" com o parâmetro name e 25 com o parâmetro age com base em suas posições.

Argumentos posicionais são muito úteis quando se lida com um pequeno número de argumentos onde a ordem de sua colocação é importante. Entretanto, os argumentos posicionais tornam-se confusos e propensos a erros quando se trabalha com funções que envolvem um grande número de argumentos ou quando alguns argumentos têm valores padrão. Discutiremos os valores padrão nos conceitos de argumento de palavra-chave.

Argumentos de palavras-chave

Argumentos de palavra-chave nos permitem especificar o nome do parâmetro para o qual você está passando explicitamente um argumento. Essa abordagem melhora a legibilidade do código e ajuda a evitar erros ao lidar com funções que possuem um grande número de argumentos ou argumentos com valores padrão. Argumentos de palavras-chave são menos propensos a erros. Argumentos de palavra-chave permitem passar argumentos em qualquer ordem, desde que você especifique o nome do parâmetro.

Vamos modificar o exemplo anterior para usar argumentos de palavras-chave

Exemplo

def check_eligibility(name, age):
    print("Hello",name)
    if(age<18):
        print("You are not allowed to vote.")
    else:
        print("You are allowed to vote.")

check_eligibility(name="Mohan", age=25)

Saída

Hello Mohan
You are allowed to vote.

Explicação

Neste exemplo, usamos a sintaxe name= "Mohan" e age=25 ao chamar a função check_eligibility(). Ao mencionar explicitamente os nomes dos parâmetros, é claramente mencionado qual argumento é atribuído a qual parâmetro.

Misturando argumentos posicionais e de palavras-chave

Em python, também podemos usar argumentos posicionais e de palavras-chave ao mesmo tempo em chamadas de função, mas precisamos ter certeza de que a seguinte condição está sendo seguida.

Todos os argumentos posicionais devem ser passados antes dos argumentos de palavras-chave. Em outras palavras, uma vez que passamos um argumento de palavra-chave, o restante dos argumentos a seguir devem ser argumentos de palavra-chave.

Exemplo

def check_eligibility(name, age, gender):
    print("Hello",name)
    print("Gender : ",gender)
    if(age<18):
        print("You are not allowed to vote.")
    else:
        print("You are allowed to vote.")

check_eligibility("Mohan", gender='Male', age=25)

Saída

Hello Mohan
Gender :  Male
You are allowed to vote.

Explicação

No código acima, passamos o nome como argumento posicional e gênero e idade como argumentos de palavra-chave. Como você pode ver no exemplo, a ordem dos argumentos das palavras-chave não importa.

Valores padrão

Em Python, podemos atribuir valores padrão aos parâmetros de função. Os valores padrão são usados quando os argumentos correspondentes não são fornecidos durante a chamada da função. Os valores padrão podem ser usados quando você deseja tornar determinados parâmetros opcionais.

Exemplo 4

def check_eligibility(name, age, country="India"):
    print("Hello",name)
    print("Country : ",country)
    if(age<18):
        print("You are not allowed to vote.")
    else:
        print("You are allowed to vote.")

check_eligibility("Mohan", age=25)

Saída

Hello Mohan
Country :  India
You are allowed to vote.

Melhores Práticas

  • Use argumentos posicionais para funções com um pequeno número de argumentos onde a ordem é importante.

  • Use argumentos de palavras-chave para funções com um número maior de argumentos.

  • Seja consistente em sua base de código. Escolha argumentos posicionais ou de palavras-chave para funções com um número consistente de argumentos.

Conclusão

Neste tutorial, discutimos sobre argumentos posicionais, argumentos de palavras-chave e valores padrão para argumentos opcionais. Seguindo as práticas recomendadas mencionadas acima, você pode aproveitar ao máximo os argumentos posicionais e de palavras-chave.

Artigos relacionados: