Funções Python
Funções do Python
Neste artigo, você aprenderá sobre funções, o que é uma função, a sintaxe, os componentes e os tipos de funções. Além disso, você aprenderá a criar uma função em Python.
Vídeo:introdução às funções do Python
O que é uma função em Python?
Em Python, uma função é um grupo de instruções relacionadas que executa uma tarefa específica.
As funções ajudam a dividir nosso programa em partes menores e modulares. À medida que nosso programa cresce cada vez mais, as funções o tornam mais organizado e gerenciável.
Além disso, evita a repetição e torna o código reutilizável.
Sintaxe da função
def function_name(parameters): """docstring""" statement(s)
Acima é mostrada uma definição de função que consiste nos seguintes componentes.
- Palavra-chave
def
que marca o início do cabeçalho da função. - Um nome de função para identificar exclusivamente a função. A nomeação de funções segue as mesmas regras de escrita de identificadores em Python.
- Parâmetros (argumentos) pelos quais passamos valores para uma função. Eles são opcionais.
- Dois pontos (:) para marcar o fim do cabeçalho da função.
- String de documentação opcional (docstring) para descrever o que a função faz.
- Uma ou mais instruções python válidas que compõem o corpo da função. As declarações devem ter o mesmo nível de recuo (geralmente 4 espaços).
- Um
return
opcional instrução para retornar um valor da função.
Exemplo de uma função
def greet(name):
"""
This function greets to
the person passed in as
a parameter
"""
print("Hello, " + name + ". Good morning!")
Como chamar uma função em python?
Depois de definir uma função, podemos chamá-la de outra função, programa ou até mesmo do prompt do Python. Para chamar uma função, simplesmente digitamos o nome da função com os parâmetros apropriados.
>>> greet('Paul')
Hello, Paul. Good morning!
Tente executar o código acima no programa Python com a definição da função para ver a saída.
def greet(name):
"""
This function greets to
the person passed in as
a parameter
"""
print("Hello, " + name + ". Good morning!")
greet('Paul')
Observação :Em python, a definição da função deve estar sempre presente antes da chamada da função. Caso contrário, teremos um erro. Por exemplo,
# function call
greet('Paul')
# function definition
def greet(name):
"""
This function greets to
the person passed in as
a parameter
"""
print("Hello, " + name + ". Good morning!")
# Erro: name 'greet' is not defined
Docstrings
A primeira string após o cabeçalho da função é chamada de docstring e é a abreviação de string de documentação. Ele é brevemente usado para explicar o que uma função faz.
Embora opcional, a documentação é uma boa prática de programação. A menos que você consiga se lembrar do que jantou na semana passada, sempre documente seu código.
No exemplo acima, temos uma docstring imediatamente abaixo do cabeçalho da função. Geralmente usamos aspas triplas para que a docstring possa se estender até várias linhas. Esta string está disponível para nós como
__doc__
atributo da função. Por exemplo :
Tente executar o seguinte no shell do Python para ver a saída.
>>> print(greet.__doc__)
This function greets to
the person passed in as
a parameter
Para saber mais sobre docstrings em Python, visite Python Docstrings.
A instrução de retorno
O
return
A instrução é usada para sair de uma função e voltar ao local de onde foi chamada. Sintaxe de retorno
return [expression_list]
Essa instrução pode conter uma expressão que é avaliada e o valor é retornado. Se não houver expressão na instrução ou no
return
declaração em si não estiver presente dentro de uma função, então a função retornará o None
objeto. Por exemplo:
>>> print(greet("May"))
Hello, May. Good morning!
None
Aqui,
None
é o valor retornado desde greet()
imprime diretamente o nome e não return
declaração é usada. Exemplo de retorno
def absolute_value(num):
"""This function returns the absolute
value of the entered number"""
if num >= 0:
return num
else:
return -num
print(absolute_value(2))
print(absolute_value(-4))
Saída
2 4
Como a função funciona em Python?
Escopo e vida útil das variáveis
Escopo de uma variável é a parte de um programa onde a variável é reconhecida. Parâmetros e variáveis definidos dentro de uma função não são visíveis de fora da função. Portanto, eles têm um alcance local.
O tempo de vida de uma variável é o período durante o qual a variável existe na memória. O tempo de vida das variáveis dentro de uma função é tão longo quanto a função é executada.
Eles são destruídos quando retornamos da função. Portanto, uma função não lembra o valor de uma variável de suas chamadas anteriores.
Aqui está um exemplo para ilustrar o escopo de uma variável dentro de uma função.
def my_func():
x = 10
print("Value inside function:",x)
x = 20
my_func()
print("Value outside function:",x)
Saída
Value inside function: 10 Value outside function: 20
Aqui, podemos ver que o valor de x é 20 inicialmente. Mesmo que a função
my_func()
alterou o valor de x a 10, não afetou o valor fora da função. Isso ocorre porque a variável x dentro da função é diferente (local para a função) de fora. Embora tenham os mesmos nomes, são duas variáveis diferentes com escopos diferentes.
Por outro lado, variáveis fora da função são visíveis de dentro. Eles têm um alcance global.
Podemos ler esses valores de dentro da função, mas não podemos alterá-los (escrever). Para modificar o valor das variáveis fora da função, elas devem ser declaradas como variáveis globais usando a palavra-chave
global
. Tipos de funções
Basicamente, podemos dividir as funções nos dois tipos a seguir:
- Funções incorporadas - funções incorporadas ao Python.
- Funções definidas pelo usuário - Funções definidas pelos próprios usuários.
python