Criar e def(inir) as suas próprias funções em Python
- #Python
Python é uma linguagem de programação considerada um coringa, com ela é possível fazer aplicações web, criar modelos de ciência de dados e também é possível criar aplicativos desktop.
E falando sobre a versatilidade do Python, aprenda de uma vez como criar as suas próprias funções usando a palavra-chave def.
Uma Incrível maneira de reutilizar o mesmo código e também tornar mais limpo e organizado suas aplicações.
Mas por que usar def?
Pyhton possui muitas bibliotecas, mas em um cenário específico de um problema, será necessário criar suas próprias funções. Com a função def, é possível manter um código organizado, mais legível e mais simples de fazer a manutenção, e o mais importante... Evitar a duplicidade de código!
Todo Desenvolvedor Python precisa dominar a criação de funções, para saber mais, consulte a documentação oficial abaixo:
https://docs.python.org/pt-br/3/tutorial/controlflow.html#defining-functions
Entendendo a função def
Imagine que você é contratado para criar as ações desse robô e é passado as seguintes tarefas:
- Armazenar um nome;
- Armazenar dois números;
- Criar uma saudação;
- Somar números.
Abaixo está a sintaxe básica para criação de uma função:
def nome_funcao():
codigo
return
Criar uma função é muito simples, onde esta nome_funcao será o nome que daremos para a função e onde está codigo. será onde colocaremos as instruções.
Continuando no nosso problema
Criaremos a primeira função para armazenar um nome:
def guardar_nome():
nome = input("Digite seu nome: ")
return nome
Já aprendemos a colocar um nome na nossa função, e é possível notar que após o return tem uma variável, isso significa que ao executar a função, o resultado será essa variável nome.
def guardar_numeros():
num1 = input("Digite o primeiro numero: ")
num2 = input("Digite o segundo numero: ")
return num1, num2
A função guardar_numero segue o mesmo padrão com um nome após a palavra def, o código que recebe os dois números digitados pelo usuário, mas dessa vez o resultado será duas variáveis.
def saudacao(nome):
print("Olá, seja bem-vindo:", nome)
return
A função saudação tem uma particularidade, dentro dos parênteses temos uma variável, mas por que? O nome desse valor dentro dos parênteses é chamado de parâmetro. As duas outras funções resultavam em uma função, já a função saudacao necessita de uma variável para ser executada.
def soma(num1, num2):
print("A soma é:", int(num1) + int(num2))
return
E por fim, a última função que soma os números.
"Algo deu errado... Executo meu programa e nada acontece"
Já ensinamos nosso robô as 4 funções, mas não basta apenas ensinar, eu preciso pedir para ele executar.
Toda vez que eu "chamar" qualquer função, será executado o bloco de código dentro dela, o nome disso é chamado de instanciar a função. Então depois que criarmos e escrever os códigos das funções, podemos criar a função principal que executa todas elas e um comando que executa a função principal.
def main():
# Chama a função guardar_nome para obter o nome
nome_usuario = guardar_nome()
# Chama a função saudacao e passa o nome obtido como argumento
saudacao(nome_usuario)
# Chama a função guardar_numeros para obter dois números
numeros = guardar_numeros()
# Chama a função soma e passa os números obtidos como argumentos
soma(numeros[0], numeros[1])
if __name__ == "__main__":
main()
"Agora sim Mateus, está tudo funcionando certinho! 😊"
Código Completo
def guardar_nome():
nome = input("Digite seu nome: ")
return nome
def guardar_numeros():
num1 = input("Digite o primeiro numero: ")
num2 = input("Digite o segundo numero: ")
return num1, num2
def saudacao(nome):
print("Olá, seja bem-vindo:", nome)
return
def soma(num1, num2):
print("A soma é:", int(num1) + int(num2))
return
def main():
# Chama a função guardar_nome para obter o nome
nome_usuario = guardar_nome()
# Chama a função saudacao e passa o nome obtido como argumento
saudacao(nome_usuario)
# Chama a função guardar_numeros para obter dois números
numeros = guardar_numeros()
# Chama a função soma e passa os números obtidos como argumentos
soma(numeros[0], numeros[1])
if __name__ == "__main__":
main()
Revisão
- Aprendemos o porque de usar funções e os benefícios que contém em usar essa técnica
- A sintaxe de uma função
- Como retornar valores de uma função
- Passar parâmetros para um função
- E o que é e como instanciar uma função
Espero que tenha ficado claro como criar suas próprias funções e que esse artigo possa contribuir para seus novos projetos!