Quando chamamos uma função, a transferência de dados é sempre inseparável entre a função principal e a função chamadora. Com a transferência de dados, é a transferência de parâmetros . O objetivo dos parâmetros é passar dados para funções.
Por exemplo, compramos um espremedor. Quando adicionamos maçãs, sai suco de maçã. Quando adicionamos suco de melancia, os parâmetros desempenham esse papel. uma função, e a função chamada nos retornará um resultado.
A seguir, vamos aprender sobre passagem de parâmetros.
Para aprender a passagem de parâmetros de função, primeiro precisamos entender o que são parâmetros formais e parâmetros reais. Vamos continuar com o exemplo acima. Temos um recipiente para armazenar frutas no espremedor. Colocamos a fruta neste recipiente e então o espremedor começa a funcionar. Os parâmetros formais e os parâmetros reais têm uma relação semelhante.
Os parâmetros formais são os parâmetros definidos entre parênteses quando definimos a função. Usaremos esse parâmetro para escrever o código dentro da função, e os parâmetros reais são os parâmetros passados quando a função é chamada. neste parâmetro real em vez de parâmetros formais.
Veja o exemplo a seguir:
>>>A=30>>>defget_salary(dias):...salário=dias*300...print(salário)...>>>get_salary(A)9000
No exemplo acima, o parâmetro dias usado quando a função foi criada é um parâmetro formal. Quando chamamos a função, A é o parâmetro real, que na verdade é o parâmetro que deve ser trazido para a função.
Quando criamos uma função, podemos definir vários parâmetros formais entre parênteses. Quando a chamamos, o número e a posição dos parâmetros precisam ser consistentes com os criados.
O que acontecerá se a função que criamos tiver 2 parâmetros formais, mas usarmos apenas 1 parâmetro real ao chamá-la. Veja o exemplo abaixo.
>>>defget_message(endereço,número):...print(endereço,número)...>>>get_message('Suzhou')Traceback(mostrecentcalllast):File<stdin>,line1,in<module>TypeError:get_message () faltando 1 argumento de posição obrigatório: 'número'
Podemos descobrir que quando o número de parâmetros reais não é igual ao número de parâmetros formais, uma exceção será lançada, o que significa especificamente que falta um número de parâmetro de posição necessário.
Quando as posições dos parâmetros são inconsistentes, ocorrerão dois erros. Um é reportar um erro diretamente, porque definiremos diferentes tipos de acordo com a natureza dos parâmetros ao passar parâmetros, portanto, erros de tipo de dados gerarão exceções.
Outro erro é que o tipo de dados do parâmetro passado está correto, mas a posição está errada, o que causará resultados de saída incorretos.
Para melhorar a legibilidade do programa, argumentos de palavras-chave também podem ser usados ao chamar funções.
Aprendemos sobre argumentos de palavras-chave calculando o volume do contêiner.
>>>defvolume(comprimento,largura,altura):...volume=comprimento*largura*altura...print('O volume é: ',volume)...>>>volume(comprimento=20,largura= 30, altura = 3) o volume é: 1800
O uso de parâmetros de palavras-chave pode salvar o processo de definição de variáveis, atribuir valores aos parâmetros diretamente quando a função é chamada, depois passá-los para a função e, finalmente, retornar o resultado. Neste método de transferência, a diferença na posição do parâmetro não afeta o resultado de saída.
Quando definimos uma função, podemos definir um valor inicial para os parâmetros da função, de modo que, se nenhum parâmetro real for fornecido quando chamarmos a função, a função usará os parâmetros padrão.
Veja o exemplo a seguir:
>>>defvolume(comprimento=100,largura=100,altura=10):...volume=comprimento*largura*altura...print(volume)...>>>volume()#Não fornece parâmetros reais Quando os parâmetros reais são fornecidos, os parâmetros padrão 100000>>>volume(10,10,10)# serão usados. Os parâmetros reais serão passados e o resultado de saída será 1000.
Através do exemplo acima, se tivermos fornecido um valor padrão ao criar a função, os parâmetros padrão serão usados automaticamente se não fornecermos os parâmetros reais ao usar a função.
Em Python, o número de parâmetros de uma função pode ser alterado, o que significa que o número de parâmetros pode ser incerto. Esses parâmetros são chamados de parâmetros variáveis. Existem dois tipos de parâmetros variáveis. Um é adicionar * antes dos parâmetros. Desta forma, os parâmetros variáveis são passados na forma de tuplas. os parâmetros variáveis são passados na forma de tuplas. Os parâmetros são passados na forma de um dicionário ao passá-los. Apresentamos principalmente o primeiro método.
Veja o exemplo a seguir:
>>>defadd_number(*number):...add_num=0...foriinnumber:...add_num+=i...print(add_num)...>>>add_number(1,2,3,4,5 )15
Ao usar parâmetros variáveis, esses parâmetros serão armazenados em uma tupla e passados para a função, portanto, quando quisermos usar esses parâmetros, podemos usar valores de travessia ou de índice.
A passagem de parâmetros de funções é praticamente a mesma. Se você quiser aprender bem as funções, você deve dominar a passagem de parâmetros. A passagem correta de parâmetros é crucial no uso de funções.