Tutorial anterior: O que são Módulos em Python
Obter certificado do Curso de Python
Como Criar um Módulo
Vamos criar um módulo chamado calculadora.py, ou seja, um arquivo com esse nome e extensão.Nele, vamos definir 4 funções:
- soma(x,y)
- subtracao(x,y)
- multiplicacao(x,y)
- divisao(x,y)
Código que já fizemos várias e várias vezes durante nosso Curso de Python na web.
Uma dica muitíssimo importante, para quando formos criar módulos, é comentar seu código.
Antes de toda função de um módulo, adicione um comentário sobre a função, dizendo o que ela faz, os parâmetros e seu retorno.
Isso ajuda outros programadores que forem usar seus módulos e você também. Nosso módulo calculadora.py ficará assim:
calculadora.py
# Esse módulo realiza as 4 operações matemáticas
# Recebe dois números e retorna a soma
def soma(x,y):
return x+y
# Recebe dois números e retorna a diferença
def subtracao(x,y):
return x-y
# Recebe dois números e retorna o produto
def multiplicacao(x,y):
return x*y
# Recebe dois números e retorna a divisão do primeiro pelo segundo
def divisao(x,y):
return x/y
Como Importar um Módulo: import
Colocou o código anterior em um arquivo chamado calculadora.py?Agora salve esse arquivo, é seu módulo, seu código organizado, com funções prontas para serem usadas.
Agora abra um novo arquivo Python.
Para poder usar o módulo que criou, você vai usar a keyword import junto do nome do seu módulo (sem a extensão .py), bem no começo do código:
import calculadora
Seu arquivo calculadora.py deve estar na mesma pasta deste script que está programando, ok? E prontinho, para importar um módulo é só isso.
Ao fazer isso, é como se você estivesse 'jogando' todo o código de calculadora.py dentro desse seu novo script. Tudo que tá dentro do módulo, você vai poder usar como se estivesse direto no seu script.
Como Usar um Módulo
Agora que já criamos e importamos o módulo, precisamos aprender como usar as funções contidas naquele arquivo.Quando queremos chamar uma função bar(), apenas digitamos:
bar() e pronto, ela roda, pois está naquele arquivo que você está escrevendo.
Mas se a função estiver em outro arquivo, ou seja, em um módulo, de nome fu.py você deve digitar:
fu.bar()
Ou seja, primeiro o nome do módulo, um ponto e o nome da função, ok?
Vamos agora criar um programa que importa esse módulo e usa suas funções.
import calculadora
while True:
print("1. Soma")
print("2. Subtração")
print("3. Multiplicação")
print("4. Divisão")
op=int(input("Que operação deseja realizar: "))
x=float(input("Primeiro numero: "))
y=float(input("Segundo numero: "))
if op==1:
print("Soma:", calculadora.soma(x,y))
elif op==2:
print("Subtração:", calculadora.subtracao(x,y))
elif op==3:
print("Multiplicação:", calculadora.multiplicacao(x,y))
elif op==4:
print("Divisão:", calculadora.divisao(x,y))
else:
print("Opção inválida,tente novamente")
Simples, não?
Nunca mais precisaremos escrever essas funções novamente, sempre que precisarmos usar elas, bastar dar um import nesse módulo e usar diretamente suas funções.
Quando um programador ou empresa vai iniciar seus projetos, eles nunca partem do zero. Quando vamos iniciar um novo programa, é certeza já termos algum código pronto, que pode ser reutilizado.
Por isso é importante salvar seus códigos, seus módulos, comentar, deixá-los bem organizados e fáceis de se ler e entender, pois não tenha dúvidas que vai usá-los novamente no futuro.
Importar Função de um Módulo: from modulo import function
Quando fizemos:import calculadora
Importamos tudo, todo o código, todas as funções do módulo calculadora.py
Porém, alguns módulos que usaremos são simplesmente gigantes, com milhares e milhares de linhas.
Muitas vezes queremos utilizar apenas uma ou outra função desse módulo, e acabamos dando um import e importamos milhares de linhas de código para no script, sem necessidade alguma.
Isso deixa nosso programa mais lento e pesado.
Por isso, é melhor importarmos somente algumas funções específicas.
Para importarmos uma função function() de um módulo de nome modulo, basta fazermos
- from modulo import function
Prontinho.
Agora é só usar function() direto (nem precisa fazer modulo.function() ).
Fantástico pra quem está começando... a calculadora é bastante didática quanto a compreensão do módulo
ResponderExcluirTentei importar um módulo chamada "pymysql" a partir do prompt do python no DOS e a partir do Pycharm. Não consegui e a mensagem recebida foi:
ResponderExcluirModuleNotFoundError: No module named 'pymysql'
Alguma sugestão? Obrigado
Você instalou o pymyqls?
Excluir# Função para ordenar três números em ordem não-decrescente
Excluirdef ordenar_numeros(a, b, c):
# Encontrar o menor número
menor = min(a, b, c)
# Encontrar o maior número
maior = max(a, b, c)
# Calcular o número do meio
meio = (a + b + c) - menor - maior
# Imprimir os números em ordem não-decrescente
print(menor, meio, maior)
# Entrada de dados do usuário
num1, num2, num3 = map(float, input("Digite três números reais separados por espaços: ").split())
# Chamar a função para ordenar e imprimir os números
ordenar_numeros(num1, num2, num3)