Avançar para o conteúdo principal

Python - Organização do código por módulos

Python - Organização do código por módulos

Para códigos com alguma dimensão e complexidade há que pensar em organizar o código.


Quer seja para legibilidade ou organização, manter todo o código apenas num ficheiro é considerada uma má prática.
Existem diversas formas de organizar o código. Uma é repartir o código por ficheiros que se chamam módulos e podem ser importados para o código principal.

Mesmo para a repartição por ficheiros, há várias soluções, trago aqui a mais básica.

Tendo numa pasta o ficheiro principal.py posso repartir na mesma pasta o código num outro ficheiro a que chamei funcoes.py.
Tenho também na imagem uma pasta Source que será outra solução a explorar.

Dentro do ficheiro funcoes.py tenho um conjunto de funções, ou métodos, que serão chamados desde o ficheiro principal.py 



Neste ficheiro tenho duas funções que podem ser chamadas desde o ficheiro principal, adiciona e subtrai. Note-se que coloquei ao inicio um texto que nunca será apresentado pois nenhuma função ou método o executa. A chamada do ficheiro principal é ao conteúdo das funções.

No ficheiro principal tenho de ter o import funcoes que le o ficheiro funcoes.py


Veja-se que depois para executar a função adiciona tenho de colocar antes o prefixo do nome do módulo importado.
De notar que existem outros métodos para realizar a importação.




Se optar por organizar os módulos dentro de uma pasta, como no esquema da primeira imagem a importação é ligeiramente diferente.
Dentro do ficheiro funcoes_extras.py não há nada de diferente.



Na importação do módulo que está dentro da pasta, temos de fazer referência à pasta com o prefixo igual ao nome da pasta, neste caso source.funcoes_extras 



A execução do programa apresenta o output seguinte:


O output acima é o resultado da leitura e execução dos dois módulos.

Comentários

Mensagens populares deste blogue

C# - Viadutos Excel - ISPOL

C# - Viadutos Excel - ISPOL Ler dados do Excel e passar a informação para o ISPOL é um ganho de produtividade e organização. Desta vez, apresento uma utilidade que lê um ficheiro Excel, e transforma os dados para o menu de estruturas do ISPOL. Partindo de um Excel organizado, por pks eixos e espessuras da estrutura etc... como o seguinte: Elaborei um programita em CSharp: Este programa funciona em modo "DOS" não tem uma interface gráfica de janelas: O programa cria os ficheiros necessários, o Excel pode estar organizado por eixos, e o programa guarda um ficheiro para cada eixo: O resultado depois de abrir o ficheiro em ISPOL é o seguinte: Com as alterações ao projecto pode-se manter um ficheiro de apresentação e controlo em Excel.

Politica de privacidade das aplicações colocadas na Play Store do Google

Politica de privacidade das aplicações colocadas na Play Store do Google. As aplicações não recolhem qualquer dado do utilizador nem a armazenam ou partilham com terceiros. Não recolhem a localização nem a armazenam ou partilham com terceiros. Alguma informação sobre os utilizadores que possa chegar ao programador por via da Play Store, será tratada de acordo com toda a confidencialidade, e não fornecida a terceiros. Obrigado.

ISPOL - Representação de Gabaris

ISPOL - Representação de Gabaris No ISPOL podemos representar ao longo do traçado um contorno e até realizar variações. A representação de um contorno ou gabari pode ser realizada no ISPOL de um modo simples, usando por exemplo um Símbolo (bloco) da biblioteca, ou um ou vários criados à medida para atender aos casos necessários. Na imagem abaixo um exemplo da biblioteca do ISPOL, representado no perfil transversal. Estas secções são constituídas por símbolos/blocos: Podem-se desenhar ao longo do eixo proporcionando a vista típica destas situações, uma espécie de sólido que enche o traçado. Além desta representação "simples" o ISPOL permite realizar transições entre símbolos diferentes, por exemplo para representar os diferentes gabaris em recta e curva. Ou outras situações que se achem necessárias. Permite ainda condicionar a representação destes símbolos por valores de raio. Isto é para um determinado raio. Pode ser usado para indicar de forma automática ao programa que em r...