Argumentos Posicionais vs Argumentos por Palavras-Chave
Artigo relacionado:
- Funções
- Passar uma função como argumento
- Asteriscos em Python
Transcrição:
Vamos falar sobre os dois tipos de argumentos que você pode usar ao chamar uma função:argumentos posicionais e argumentos nomeados (a.k.a. argumentos de palavras-chave).
Positional arguments
Quando você chama a função incorporada print
, você pode passar em qualquer número de argumentos posicionais. Nós estamos passando em quatro argumentos posicionais aqui:
>>> print(2, 1, 3, 4)2 1 3 4
Chamaremos esses argumentos posicionais porque sua posição importa.A ordem destes argumentos é significativa: o primeiro argumento é impresso primeiro; o último é impresso por último.
Detalhes de palavras-chave (também conhecidos como argumentos)
A função print
também aceita alguns argumentos como argumentos de palavras-chave.
>
A função print
aceita um argumento opcional sep
(que é o padrão para um caractere de espaço).
>>> print(2, 1, 3, 4, sep=' ')2 1 3 4>>> print(2, 1, 3, 4)2 1 3 4>>> print(2, 1, 3, 4, sep='-')2-1-3-4>>> print(2, 1, 3, 4, sep=', ')2, 1, 3, 4
>
Que sep
argumento define o separador que deve ser impresso entre cada um dos argumentos posicionais dados a print
.
Existe também um argumento opcional end
argumento de palavra-chave.O argumento end
padrão para um novo caractere de linha:
>>> print(2, 1, 3, 4, sep=', ', end='\n')2, 1, 3, 4
Mas podemos colocar alguns pontos de exclamação no argumento end
(antes de uma nova linha) para imprimir pontos de exclamação no final:
>>> print(2, 1, 3, 4, sep=', ', end='!!\n')2, 1, 3, 4!!
A ordem dos argumentos de palavras-chave não importa
A ordem dos argumentos de print
funções sep
e end
argumentos não importa.
>>> print(2, 1, 3, 4, end='!!\n', sep=', ')2, 1, 3, 4!!
A ordem não importa com estes porque não são argumentos posicionais: eles são nomeados argumentos.
Os argumentos posicionais têm vírgulas entre os seus valores.
>>> print(2, 1, 3, 4)2 1 3 4
Guias de palavras-chave (a.k.a. Além disso, a posição dos argumentos de palavras-chave não importa em nada: é o nome que não importa a posição.
Usar argumentos de palavras-chave em vez de argumentos posicionais
Guias de palavras-chave não são úteis apenas para funções que aceitam qualquer número de argumentos posicionais (como print
).Você pode passar argumentos de palavras-chave para praticamente qualquer função em Python.
Por exemplo, a função incorporada sum
aceita um primeiro argumento:
>>> sum()10
Mas também aceita um segundo argumento, que por defeito é zero:
>>> sum(, 0)10
Se mudarmos esse segundo argumento para 1
, veremos que este é o valor inicial da soma retornada:
>>> sum(, 1)11
Prefiro ver essa função chamada assim:
>>> sum(, start=1)11
Estamos passando em um argumento posicional e um argumento de palavra-chave.
Isso start=1
funciona com sum
porque start
é o nome desse argumento. Na documentação da função sum
diz o segundo argumento que se chama :
>>> help(sum)Help on built-in function sum in module builtins:sum(iterable, /, start=0) Return the sum of a 'start' value (default: 0) plus an iterable of numbers When the iterable is empty, return the start value. This function is intended specifically for use with numeric values and may reject non-numeric types.
Então quando você está trabalhando com argumentos nomeados (também conhecidos como argumentos de palavras-chave) o nome do argumento realmente importa! Enquanto que quando você está trabalhando com argumentos posicionais, é a posição que é significativa.
Sumário
Quando chamamos uma função em Python, podemos passar em dois tipos diferentes de argumentos:
- argumentos posicionais
- argumentos nomeados (a.k.a. argumentos de palavras-chave)
Definidos argumentos podem às vezes tornar o seu código um pouco mais descritivo porque você deu um nome a um objeto cujo uso poderia não estar claro simplesmente pela sua posição em uma chamada de função.
Quer ver mais tópicos Python explicados?
Visitante da web amigável! 👋
Esta página é parte de Python Morsels, um serviço online de construção de habilidades Python.
A melhor maneira de aprender é fazendo. No caso do Python isso significa escrever código Python. Se você gostaria de melhorar suas habilidades em Python toda semana, experimente o Python Morsels digitando seu email abaixo para criar uma conta.
As páginas de tópicos Python Morsels são grátis e o valor do primeiro mês de exercícios também é grátis. Você não precisa digitar detalhes de pagamento para se inscrever.
Você pode encontrar explicações de muitos outros tópicos Python inscrevendo-se abaixo.
Ao inscrever-se, você concorda com a Política de Privacidade.