Exemplos de funções Python: chamada, recuo, argumentos & Valores Retornados

Índice:

Anonim

O que é função em Python?

Uma função em Python é um trecho de código executado quando referenciado. Ele é usado para utilizar o código em mais de um lugar em um programa. Também é chamado de método ou procedimento. Python fornece muitas funções embutidas como print (), input (), compile (), exec (), etc., mas também dá liberdade para criar suas próprias funções.

Neste tutorial, aprenderemos

  • Como definir e chamar uma função em Python
  • Significado do recuo (espaço) em Python
  • Como o valor de retorno da função?
  • Argumentos em funções

Como definir e chamar uma função em Python

A função em Python é definida pela instrução "def" seguida pelo nome da função e parênteses (())

Exemplo:

Vamos definir uma função usando o comando "def func1 (): e chamar a função. A saída da função será "Estou aprendendo a função Python".

A função print func1 () chama nosso def func1 (): e imprime o comando " Estou aprendendo a função Python, nenhuma. "

Existem um conjunto de regras em Python para definir uma função.

  • Quaisquer argumentos ou parâmetros de entrada devem ser colocados entre esses parênteses
  • A primeira instrução da função pode ser uma instrução opcional- docstring ou a string de documentação da função
  • O código em cada função começa com dois pontos (:) e deve ser indentado (espaço)
  • A instrução return (expressão) sai de uma função, opcionalmente, devolvendo um valor ao chamador. Uma instrução de retorno sem argumentos é o mesmo que return None.

Significado do recuo (espaço) em Python

Antes de nos familiarizarmos com as funções Python, é importante que entendamos a regra de indentação para declarar funções Python e essas regras são aplicáveis ​​a outros elementos do Python, bem como a declaração de condições, loops ou variáveis.

O Python segue um estilo particular de indentação para definir o código, uma vez que as funções do Python não têm nenhum início ou fim explícito, como chaves para indicar o início e o fim da função, elas precisam contar com esse recuo . Aqui, pegamos um exemplo simples com o comando "imprimir". Quando escrevemos a função "imprimir" logo abaixo de def func 1 (): Ela mostrará um " erro de indentação: espera-se um bloco indentado ".

Agora, quando você adiciona o recuo (espaço) na frente da função "imprimir", ele deve imprimir conforme o esperado.

Pelo menos, um recuo é suficiente para fazer seu código funcionar com sucesso. Mas, como prática recomendada, é aconselhável deixar um recuo de 3 a 4 para chamar sua função .

Também é necessário que, ao declarar o recuo, você mantenha o mesmo recuo para o resto do código . Por exemplo, na captura de tela abaixo, quando chamamos outra instrução "ainda em func1" e quando não é declarada logo abaixo da primeira instrução de impressão, ele mostrará um erro de recuo "desindentação não corresponde a nenhum outro nível de recuo".

Agora, quando aplicamos o mesmo recuo para ambas as instruções e as alinhamos na mesma linha, obtemos a saída esperada.

Como o valor de retorno da função?

O comando de retorno em Python especifica o valor a ser devolvido ao chamador da função.

Vamos entender isso com o seguinte exemplo

Etapa 1) Aqui - vemos quando a função não é "retornar". Por exemplo, queremos o quadrado de 4, e ele deve dar a resposta "16" quando o código for executado. O que ocorre quando simplesmente usamos o código "print x * x", mas quando você chama a função "print square", ele fornece "None" como saída. Isso ocorre porque quando você chama a função, a recursão não acontece e cai no final da função. Python retorna "Nenhum" para falhar no final da função.

Etapa 2) Para tornar isso mais claro, substituímos o comando de impressão pelo comando de atribuição. Vamos verificar a saída.

Quando você executa o comando "print square (4)", ele realmente retorna o valor do objeto, uma vez que não temos nenhuma função específica para executar aqui, ele retorna "None".

Etapa 3) Agora, veremos como recuperar a saída usando o comando "return". Quando você usa a função "return" e executa o código, ele dará a saída "16".

Etapa 4) As funções em Python são, elas mesmas, um objeto, e um objeto tem algum valor. Veremos aqui como o Python trata um objeto. Ao executar o comando "imprimir quadrado" ele retorna o valor do objeto. Como não passamos nenhum argumento, não temos nenhuma função específica para executar aqui, ele retorna um valor padrão (0x021B2D30) que é a localização do objeto. No programa Python prático, você provavelmente nunca precisará fazer isso.

Argumentos em funções

O argumento é um valor que é passado para a função quando ela é chamada.

Em outras palavras, no lado da chamada, é um argumento e no lado da função é um parâmetro.

Vamos ver como funciona o Python Args -

Etapa 1) Os argumentos são declarados na definição da função. Ao chamar a função, você pode passar os valores para esses argumentos, conforme mostrado abaixo

Etapa 2) Para declarar o valor padrão de um argumento, atribua a ele um valor na definição da função.

Exemplo: x não tem valores padrão. Valores padrão de y = 0. Quando fornecemos apenas um argumento ao chamar a função multiplicar, Python atribui o valor fornecido a x enquanto mantém o valor de y = 0. Daí a multiplicação de x * y = 0

Etapa 3) Desta vez, alteraremos o valor para y = 2 em vez do valor padrão y = 0, e ele retornará a saída como (4x2) = 8.

Etapa 4) Você também pode alterar a ordem em que os argumentos podem ser passados ​​em Python. Aqui, invertemos a ordem dos valores xey para x = 4 ey = 2.

Etapa 5) Vários argumentos também podem ser passados ​​como uma matriz. Aqui no exemplo, chamamos os vários args (1,2,3,4,5) chamando a função (* args).

Exemplo: declaramos vários args como número (1,2,3,4,5) quando chamamos a função (* args); ele imprime a saída como (1,2,3,4,5)

Dicas :

  • Em Python 2.7. sobrecarga de função não é compatível com Python. Sobrecarga de função é a capacidade de criar vários métodos com o mesmo nome com uma implementação diferente. A sobrecarga de função é totalmente compatível com Python 3
  • Existe uma grande confusão entre métodos e funções. Métodos em Python são associados a instâncias de objetos, enquanto funções não são. Quando o Python chama um método, ele associa o primeiro parâmetro dessa chamada à referência de objeto apropriada. Em palavras simples, uma função autônoma em Python é uma "função", enquanto uma função que é um atributo de uma classe ou instância é um "método".

Aqui está o código Python 3 completo

#define a functiondef func1():print ("I am learning Python function")print ("still in func1")func1()def square(x):return x*xprint(square(4))def multiply(x,y=0):print("value of x=",x)print("value of y=",y)return x*yprint(multiply(y=2,x=4))

Aqui está o código Python 2 completo

#define a functiondef func1():print " I am learning Python function"print " still in func1"func1()def square(x):return x*xprint square(4)def multiply(x,y=0):print"value of x=",xprint"value of y=",yreturn x*yprint multiply(y=2,x=4)

Resumo:

A função em Python é um pedaço de código reutilizável que é usado para realizar uma ação única relacionada. Neste artigo, veremos

  • Função definida pela declaração def
  • O bloco de código em cada função começa com dois pontos (:) e deve ser indentado (espaço)
  • Quaisquer argumentos ou parâmetros de entrada devem ser colocados entre parênteses, etc.
  • Deve-se deixar pelo menos um recuo antes do código depois de declarar a função
  • O mesmo estilo de indentação deve ser mantido em todo o código dentro da função def
  • Para melhores práticas, três ou quatro travessões são considerados melhores antes da declaração
  • Você pode usar o comando "return" para retornar valores para a chamada de função.
  • Python imprimirá um valor aleatório como (0x021B2D30) quando o argumento não for fornecido para a função de chamada. Exemplo de "função de impressão".
  • Do lado da chamada, é um argumento e do lado da função é um parâmetro
  • Valor padrão no argumento - quando fornecemos apenas um argumento ao chamar a função multiply ou qualquer outra função, o Python atribui o outro argumento por padrão
  • Python permite que você inverta a ordem do argumento também