Quer você seja um especialista ou iniciante em programação Python, deve estar familiarizado com o módulos de importação comando. No entanto, como um novato, você pode não ter ideia de onde vêm esses módulos.
Vamos dar uma olhada mais profunda para entender a origem desses módulos, juntamente com como criá-los e importá-los para reutilização.
O que é reutilização de código e por que você deve fazer isso?
Uma das melhores práticas ao trabalhar com a maioria das linguagens do lado do servidor é modularizar seu código para que seja reutilizável. Como o Python é orientado a objetos, é uma daquelas linguagens que torna possível a reutilização do código.
A modularização do código envolve a escrita de códigos que executam diferentes instruções em blocos. É usado para separar tarefas umas das outras.
Ao modularizar um código, você atribui a ele um nome exclusivo. Esse nome é sua identidade e significa que da próxima vez que você precisar usar aquele bloco de código, você só precisará chamar seu nome e não o código inteiro.
Essa prática torna seu trabalho muito mais fácil e rápido durante um projeto da vida real. A modularização do código também melhora a velocidade de execução e torna o teste mais fácil. Em essência, torna seu código mais eficiente e legível.
Embora nosso exemplo aqui não seja baseado em programação orientada a objetos (OOP), devemos discuti-lo brevemente antes de prosseguirmos para a criação de um módulo.
O código que você pretende reutilizar às vezes pode ser autônomo como funções individuais. Mas também pode ser na forma de métodos em um aula. É quando o conceito de OOP entra em jogo.
Programação orientada a objetos em Python
OOP é a apresentação de códigos como objetos independentes na forma de uma classe. Cada objeto tem seus atributos e métodos.
Esses atributos são as características da classe, enquanto cada método define o comportamento dos atributos.
Em vez de escrever um código longo que é menos eficiente uma convenção em programação procedural, seu código se torna mais eficiente e específico em OOP. A razão é que funções e dados são armazenados em classes independentes em OOP, ao contrário da separação de ambos na programação procedural.
Cada classe que você cria assume uma identidade. Portanto, quando você precisa de um módulo nomeado de uma classe, você o chama com referência a essa classe.
Para obter uma melhor compreensão, dê uma olhada em nosso guia do iniciante para entender OOP.
A maioria das linguagens de programação modernas suporta o paradigma de "programação orientada a objetos" (OOP). Mas o que exatamente é OOP e por que é tão útil?
Fazendo funções reutilizáveis: um exemplo prático
Continuando, vamos dar uma olhada em como podemos reutilizar a função para um contador de palavras em outro arquivo Python. Este guia se concentrará apenas na criação de funções reutilizáveis que não estão dentro de um objeto.
Primeiro, abra um prompt de comando em qualquer local do seu computador para iniciar um novo projeto. Neste caso, usaremos um nome de projeto de word_count. Para fazer isso, digite mkdir word_count.
Em seguida, use sua ferramenta de ambiente virtual preferida para criar um novo ambiente virtual. Se você já criou um, basta ativá-lo. Certifique-se de que você ainda está no diretório do seu projeto.
Como uma boa prática, para criar a função de contador de palavras, primeiro tentamos descobrir uma fórmula bruta para calculá-la. Geralmente, você pode encontrar uma contagem de palavras adicionando um ao número de espaços em uma frase. Observe que, embora você possa não precisar de uma contagem de palavras, é como a ideia se relaciona à capacidade de reutilização do código que importa para esta explicação.
Em seguida, abra um editor de texto no local do seu projeto e crie um novo arquivo Python. Neste caso, o arquivo é nomeado como wordcounter.py; certifique-se de usar o correto .py extensão.
Aqui está o que contador de palavras arquivo se parece com:
# cria uma variável chamada palavra que contém algumas strings
word = ['como fazer um contador de palavras em python']
# Em seguida, percorra a variável para contar as palavras na variável criada
NumberOfWords = [EachWord.count ('') + 1 para EachWord in word]
imprimir (NumberOfWords)
saída: [8]
Agora que o código bruto está funcionando, nós o modularizamos criando uma função que torna o código reutilizável:
def CountWords (palavras):
se as palavras não forem nenhum:
NumberOfWords = [Eachword.count ('') + 1 para cada palavra nas palavras]
retornar NumberOfWords
minhaspalavras = ['fazendo um contador de palavras em python']
imprimir (CountWords (minhaswords))
saída: [6]
É isso; fomos criados um módulo contador de palavras. Vamos ver como reutilizá-lo.
Importando o Módulo Criado
Lembre-se de que você criou anteriormente um arquivo chamado wordcounter.py. Esse arquivo contém uma função chamada CountWords. Se você precisar dessa função em um novo arquivo e não quiser reescrever todo o código ou função, tudo o que você precisa fazer é importar essa função como um módulo em seu novo arquivo.
Observe que todos os seus arquivos Python devem estar no mesmo diretório, neste caso. Para ter certeza de que este é o caso, basta criar um novo arquivo Python no mesmo diretório onde você tem o wordcounter.py Arquivo.
Esta é a aparência do novo arquivo:
from wordcounter importar CountWords
words = ["como importar e reutilizar seu código em Python"]
CountWords (palavras)
saída: [9]
No snippet acima, CountWords é a função dentro do wordcounter.py Arquivo. Para reutilizar essa função em um novo arquivo Python, nós o importamos de seu arquivo principal (wordcounter.py).
Importando o seu módulo criado com certeza
E se o novo arquivo não estiver no mesmo diretório que o arquivo do módulo? Nesses casos, você deve fazer referência ao módulo usando uma importação absoluta.
Para entender isso um pouco mais, vamos supor que você criou um novo arquivo no diretório do seu projeto. Mas o arquivo do qual você pretende importar sua função (que é contador de palavras, neste caso), está em outra pasta dentro do diretório do seu projeto, chame essa pasta subword_count.
Para importar seu módulo de contador de palavras (que agora está dentro do subword_count ) em um novo arquivo Python, você precisa chamá-lo de forma absoluta. Para ver como isso funciona, crie um novo arquivo no diretório do seu projeto, dê a ele seu nome preferido e importe seu módulo conforme escrito no trecho de código abaixo:
from subword_count.wordcounter import CountWords
words = ["como importar e reutilizar seu código em Python para arquivos em pastas diferentes."]
CountWords (palavras)
saída: [14]
Durante uma importação absoluta, o Python navega pela pasta pai (subword_count neste caso) e localiza o arquivo ou módulo que contém a função de interesse (CountWords).
Para quebrar o significado da importação absoluta acima, subword_count é uma pasta no diretório do seu projeto que contém o wordcounter.py Arquivo. Esse arquivo contém o CountWords função.
Onde funciona a reutilização de código?
Modularizar e reutilizar seu código é uma prática recomendada para qualquer projeto que você esteja executando. Se você escrever OOP, o que provavelmente fará com frequência, poderá importar uma classe de um módulo ou chamar uma função de uma classe. Se a classe estiver em uma pasta, importe-a totalmente para o novo arquivo.
A mesma prática se aplica a funções que não estão em um objeto. Dependendo do layout do seu projeto, você pode importá-los de forma explícita ou absoluta, como fizemos acima.
Para aproveitar ao máximo os pontos fortes do Python, você vai querer aprender como o Python funciona com a programação orientada a objetos (OOP).
- Programação
- Programação
- Pitão
- Programação Orientada a Objetos
Idowu é apaixonado por qualquer tecnologia inteligente e produtividade. Em seu tempo livre, ele brinca com codificação e muda para o tabuleiro de xadrez quando está entediado, mas também adora quebrar a rotina de vez em quando. Sua paixão por mostrar às pessoas o caminho da tecnologia moderna o motiva a escrever mais.
Assine a nossa newsletter
Junte-se ao nosso boletim informativo para dicas de tecnologia, análises, e-books grátis e ofertas exclusivas!
Mais um passo…!
Confirme o seu endereço de e-mail no e-mail que acabamos de enviar.