Introdução
Python é uma das linguagens de programação mais utilizadas em todo o mundo. Módulos são uma parte crítica do código Python. Um módulo é simplesmente um .py arquivo no contexto do Python 3. Isso significa que você pode se referir a qualquer arquivo Python como um módulo.
É possível obter esses módulos por meio da biblioteca pré-formada. Você pode dar uma olhada na Biblioteca Padrão do Python para saber mais. Eles são instalados no seu sistema quando você instala o Python. Em outras situações, você pode instalar esses módulos usando o gerenciador de pacotes do Python pip. Mas e se você quiser criar um módulo personalizado? Se for esse o caso, ficará feliz em saber que pode criar seus próprios módulos no Python.
Neste guia detalhado, vamos descrever as etapas que você precisa seguir para escrever e importar módulos no Python 3.
Pré-requisitos
Antes de começarmos, você precisa garantir que tem o Python 3 instalado e um ambiente de programação configurado. Você pode seguir o nosso tutorial sobre como instalar o Python 3 e configurar um ambiente de programação local no Ubuntu 16.04 para concluir a instalação caso ainda não a tenha pronta.
Como escrever um módulo?
Vamos começar com a escrita de um módulo. Você escreveria um módulo exatamente como comporia qualquer outro arquivo Python. Um módulo típico compreende as definições de funções, classes e variáveis. Posteriormente, você pode usar o módulo para aplicar a outros programas Python.
Para ajudar você a entender, vamos considerar um exemplo. Digamos que queremos criar um arquivo chamado hello.py. Mais tarde, também importaremos isso para outro arquivo. O primeiro passo no processo é criar uma função. Esta função servirá para imprimir Hello, World! assim:
|
1 2 3 |
# Define uma função def world(): print("Hello, World!") |
Neste ponto, executar o comando python hello.py não trará nenhum resultado. Isso ocorre porque ainda não demos nenhuma instrução ao programa. Para fazê-lo funcionar, precisamos importar o módulo.
Como importar um módulo?
Para importar seu módulo para torná-lo uma função, você precisa criar um segundo arquivo no mesmo diretório. Chamaremos este novo arquivo de main_program.py. A razão pela qual ambos os arquivos devem estar no mesmo diretório é que precisamos orientar o programa sobre onde encontrar o módulo. Isso se aplica a qualquer módulo novo e personalizado que não seja integrado:
|
1 2 3 4 5 |
# Importa o módulo hello import hello # Chama a função hello.world() |
Usamos a notação de ponto para o nome do módulo para chamar a função. Outra maneira de fazer isso é usar o método from...import . Aqui, chamaremos a função como world() importando o módulo como from hello import world. Finalmente, você pode executar o comando:
|
1 |
python main_program.py |
O comando mostrará a seguinte saída:
|
1 2 |
Saída: Hello, World! |
Adicionando variáveis a um módulo
A seguir, veremos como adicionar variáveis ao módulo colocando definições no módulo:
|
1 2 3 4 5 6 |
# Define uma função def world(): print("Hello, World!") # Define uma variável shark = "Sammy" |
Posteriormente, você chamará a variável na função print() . Nós a chamaremos dentro do arquivo main_program.py arquivo:
|
1 2 3 4 5 6 7 |
# Importa o módulo hello import hello # Chama a função hello.world() # Imprime a variável print(hello.shark) |
A execução do programa mostrará esta saída:
|
1 2 3 |
Saída: Hello, World! Sammy |
Adicionando uma classe a um módulo
Por fim, veremos como você pode definir uma classe em seu arquivo para o módulo. Continuando nosso exemplo, criaremos uma nova classe chamada Octopus no arquivo hello.py. Também atribuiremos a ela os atributos de name e color. Depois, adicionaremos uma função para torná-la imprimível:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
# Definir uma função def world(): print("Olá, Mundo!") # Definir uma variável shark = "Sammy" # Definir uma classe class Octopus: def __init__(self, name, color): self.color = color self.name = name def tell_me_about_the_octopus(self): print("Este polvo é " + self.color + ".") print(self.name + " é o nome do polvo.") |
Em seguida, você deve adicionar a classe perto do final do main_program.py arquivo:
|
1 2 3 4 5 6 7 8 9 10 11 12 |
# Importar o módulo hello import hello # Chamar a função hello.world() # Imprimir a variável print(hello.shark) # Chamar a classe jesse = hello.Octopus("Jesse", "laranja") jesse.tell_me_about_the_octopus() |
Você pode chamar a classe com o comando hello.Octopus(). Ele mostrará as funções e atributos da classe Octopus no namespace do arquivo. Sendo assim, você pode escrever jesse.tell_me_about_the_octopus() na última linha sem invocar hello. Também é possível chamar um atributo individual da classe sem usar hello. Por exemplo, você pode simplesmente executar jesse.color. Quando você executar o programa, ele mostrará a seguinte saída:
|
1 2 3 4 5 |
Saída: Olá, Mundo! Sammy Este polvo é laranja. Jesse é o nome 'do polvo. |
Implementando código com módulos
Onde você pode usar módulos para especificar definições, você também pode usá-los para implementar código. Digamos que queremos implementar a função world() . Nós reescreveremos nosso arquivo inicial hello.py completamente:
|
1 2 3 4 5 6 |
# Definir uma função def world(): print("Olá, Mundo!") # Chamar a função dentro do módulo world() |
A partir do arquivo main_program.py , nós deletaremos tudo exceto a instrução de importação, deixando o seguinte:
|
1 2 |
# Importar o módulo hello import hello |
Executar o arquivo do programa principal fornecerá esta saída, já que o programa implementa e executa a função world() :
|
1 2 |
Saída: Olá, Mundo! |
Como acessar um módulo de outro diretório?
Agora que você sabe como criar e modificar módulos, você precisa saber como acessá-los de outro diretório. Isso é útil quando você precisa usar um determinado módulo em outro projeto. Existem duas maneiras de fazer isso, as quais explicaremos abaixo.
-
Anexando caminhos
O primeiro método é ativar o caminho do módulo usando os arquivos de programação que já estão usando o módulo. Infelizmente, fazer isso não significa que o módulo estará disponível em todo o sistema. Portanto, é considerado apenas uma solução temporária. É frequentemente empregado durante a fase de desenvolvimento do projeto.
Você pode iniciar o processo de anexação importando o módulo sys e outros módulos importantes que você precisa usar. Nós os importaremos para o arquivo do programa principal. Você pode encontrar o módulo sys na Biblioteca Padrão do Python. Você precisa dele porque ele contém os parâmetros básicos e funções específicas do seu sistema.
Considere nosso exemplo anterior mais uma vez. Digamos que o arquivo hello.py esteja no caminho /usr/sammy/ e o arquivo main_program.py esteja em outro diretório. Nós importaremos o módulo hello no arquivo main_program.py primeiro usando o módulo sys. Em seguida, anexaremos /usr/sammy/ ao caminho:
|
1 2 3 4 5 6 |
import sys sys.path.append('/usr/sammy/') import hello ... |
Se você definir o caminho corretamente, o main_program.py o arquivo será executado facilmente sem erros. Você receberá a mesma saída que obteve quando ambos os arquivos estavam no mesmo diretório.
-
Caminho do Python
A outra opção que você pode escolher é o caminho do Python. Aqui, você adicionaria o próprio módulo a um caminho que o Python verifica para encontrar módulos e pacotes. Como você provavelmente pode inferir, isso torna o módulo disponível em todo o sistema, tornando-se uma solução permanente viável.
Para fazer isso, você precisa descobrir onde o Python está procurando por módulos. Você terá que executar o interpretador Python a partir do ambiente de programação, que se parece com isto:
|
1 |
python |
O próximo passo é importar o sys módulo:
|
1 |
>>> import sys |
Em seguida, imprima o caminho do sistema:
|
1 |
>>> print(sys.path) |
Agora, você verá um caminho do sistema como sua saída. Haverá pelo menos um. No entanto, pode haver vários em um ambiente de programação. Na lista, localize o ambiente que você está usando. Tenha em mente que você também pode querer adicionar o módulo ao caminho principal do Python do sistema. É assim que se parecerá:
|
1 2 |
Saída: '/usr/sammy/my_env/lib/python3.5/site-packages' |
Finalmente, mova o hello.py arquivo para este diretório e importe o módulo da seguinte forma:
|
1 2 |
import hello ... |
Você terá sucesso em sua tentativa se o programa executar o arquivo sem produzir erros. Como resultado desse processo, você poderá acessar o módulo a partir de qualquer diretório em seu sistema.
Conclusão
O objetivo deste tutorial foi ajudar você a se familiarizar com a escrita de módulos em Python. É muito semelhante a como você escreveria qualquer arquivo Python .py . Primeiro, falamos sobre o que realmente é um módulo Python e seus recursos associados. Depois, descobrimos como aplicar essas definições em outros arquivos de programação em Python. Finalmente, entendemos os detalhes da acessibilidade do módulo. Agora você sabe como escrever módulos em Python 3, bem como acessá-los.
Para aprofundar ainda mais seus conhecimentos sobre a linguagem de programação Python, consulte nosso blog para mais recursos:
- Python 3: Um Guia sobre Conversão de Tipos de Dados
- Loops em Python 3: Usando as Instruções Break, Continue e Pass
- Usando Formatadores de String no Python 3
Boa computação!
Comentários
Nenhum comentário ainda. Seja o primeiro.