argumentos
no tópico da função definida pelo utilizador, aprendemos a definir uma função e a chamá-la. Caso contrário, a chamada de função resultará em um erro. Aqui está um exemplo.
Saída
Hello Monica, Good morning!
Aqui, a função greet()
tem dois parâmetros.
Uma vez que temos chamado esta função com dois argumentos, ela funciona sem problemas e não temos nenhum erro.,
Se lhe chamarmos com um número diferente de argumentos, o interpretador irá mostrar uma mensagem de erro. Abaixo está uma chamada para esta função com um e nenhum argumento junto com suas respectivas mensagens de erro.
>>> greet("Monica") # only one argumentTypeError: greet() missing 1 required positional argument: 'msg'
>>> greet() # no argumentsTypeError: greet() missing 2 required positional arguments: 'name' and 'msg'
argumentos da função variável
até agora, as funções tinham um número fixo de argumentos. Em Python, existem outras maneiras de definir uma função que pode ter um número variável de argumentos.
três formas diferentes deste tipo são descritas abaixo.,
argumentos predefinidos em Python
argumentos da função podem ter valores predefinidos em Python.
Podemos fornecer um valor padrão para um argumento usando o operador de atribuição (=). Aqui está um exemplo.
Saída
Hello Kate, Good morning!Hello Bruce, How do you do?
nesta função, o parâmetro name
não tem um valor padrão e é necessário (obrigatório) durante uma chamada.,
por outro lado, o parâmetro msg
tem um valor padrão de "Good morning!"
. Então, é opcional durante uma chamada. Se um valor for fornecido, ele irá sobrepor o valor padrão.
qualquer número de argumentos em uma função pode ter um valor padrão. Mas uma vez que temos um argumento padrão, todos os argumentos à sua direita também devem ter valores padrão.
isto significa dizer que os argumentos não-predefinidos não podem seguir os argumentos predefinidos., Por exemplo, se tivéssemos definido o cabeçalho de função acima como:
def greet(msg = "Good morning!", name):
gostaríamos de obter um erro como:
SyntaxError: non-default argument follows default argument
Python Argumentos de Palavra-chave
Quando chamamos uma função com alguns valores, esses valores serão atribuídos aos argumentos de acordo com a sua posição.
Python permite que funções sejam chamadas usando argumentos de palavras-chave. Quando chamamos funções desta forma, a ordem (posição) dos argumentos pode ser alterada. Seguindo as chamadas para a função acima são todas válidas e produzem o mesmo resultado.,
Como podemos ver, Podemos misturar argumentos posicionais com argumentos de palavras-chave durante uma chamada de função. Mas temos de ter presente que os argumentos das palavras-chave devem seguir os argumentos posicionais.
ter um argumento posicional após argumentos de palavras-chave resultará em erros. Por exemplo, a chamada de função, como a seguir:
greet(name="Bruce","How do you do?")
Irá resultar em um erro:
SyntaxError: non-keyword arg after keyword arg
Python Arbitrárias Argumentos
às Vezes, não sabemos com antecedência o número de argumentos que serão passados para uma função., Python nos permite lidar com este tipo de situação através de chamadas de funções com um número arbitrário de argumentos.
na definição da função, usamos um asterisco ( * ) antes do nome do parâmetro para denotar este tipo de argumento. Aqui está um exemplo.
saída
Hello MonicaHello LukeHello SteveHello John
Aqui, chamámos a função com vários argumentos. Estes argumentos são embrulhados em uma tupla antes de serem passados para a função. Dentro da função, usamos um laço
para recuperar todos os argumentos de volta.
Deixe uma resposta