O site Pypi Org contem uma lista de todas as bibliotecas Python disponíveis.
A instalação de bibliotecas no Linux é feita utilizando o seguinte modelo:
sudo apt install python3-nome-da-biblioteca
- Exemplo: sudo apt install python3-boto3
Existem diversas formatoções disponíveis em Python, sendo elas as seguintes INT, FLOAT e COMPLEX.
-
INT: formatação utilizada para numeros inteiros ou seja, sem casas decimais.
exemplo: a = int(1) >> significa que o valor atribuido a variável a é o valor do numero inteiro 1. -
FLOAT: Formatação utilizada para numeros flutuantes ou seja, **possuem casas decimais.
exemplo: a = float(3.5) >> significa que o valor da variável a é o valor do numero flutante 3.5
Note
É importante citar que em Python a escrita do valor nos exemplos acima já seriam reconhecidos como int ou float. Mas o seu uso não se limita apenas aos exemplo citados acima, esse processo pode ser utilizado para controlar o tipo de resultado que deseja que seja retornado ao executar uma operação matemática.
Aplicação em outros cálculos
Por exemplo se realizar o calculo de divisão 5 por 2 e atribuindo a uma variável uma como tipo INT e outra FLOAT:
a = int(5/2) >> O resultado obtido no calculo será 2. Por que a variável a tem a caracteristica de ser um dado INTEIRO.
b = float(5/2) >> O resultado obtido no calculo será 2.5. Por que a variável b tem a caracteristica de ser um dado FLUTUANTE.
Ao utilizarmos o comando PRINT para visualizar as informações que retornam em um código é possível realizar a inserção da informação de 3 formas.
print('Olá mundo! Meu nome é', nome da variável)
print(f'Olá mundo! Meu nome é {nome da variável}')
print('Olá mundo! Meu nome é {}, tenho {} anos.'.format(nome da primeira variável,nome da segunda variável))
Ao executar um código Python é possível realizar a personalização da cor do texto e do plano de fundo, tanto no terminal, quanto em aplicações.
Existem uma série de códigos que permitem a alteração de cores das letras no terminal, seguindo exatamente a estrutura apresentada a seguir.
- Modelo de uso do comando: \033[m
- Exemplo: print('\033[31m O texto exibido estará na cor vermelha')
Link de acesso a lista de cores disponíveis para personalização do terminal utilizando a linguagem Python.
Cores no terminal Python
O comando INPUT é utilizado quando se espera a entrada de informações por parte do usuário.
O INPUT é composto por uma variável, seu TIPO e posteriormente a pergunta que será realizada ao usuário para a coleta do dado, conforme estrutura a seguir:
- variavel = tipo(INPUT('Pergunta realizada ao usuário: '))
- Exemplo 1: nome = str(input('Qual o seu nome? '))
- Exemplo 2: idade = int(input('Qual a sua idade? '))
O comand print é responsável por imprimir informações no terminal, para isso a adição de dados pode ser realizada de várias formas as quais serão exemplificadas a seguir:
Esta é a forma convencional de adicionar informações em uma exibição de print, sendo composta pela seguinte estrutura.
- print('Mensagem impressa', nome da váriável)
- Exemplo 1: print('O meu nome é', nome)
- Exemplo 2: print('Eu tenho', idade ,'anos'.)
Esta forma de inserir o valor da variável utilizando o simbolo de {} durante a utilização do comando PRINT, possui a seguinte estrutura.
- print('Mensagem impressa {nome da variável}')
- Exemplo 1: print('O meu nome é {nome}')
- Exemplo 2: print('Eu tenho {idade} anos')
Esta forma de inserção do valor da variável, possui uma particularidade diferente das outras, porque ele possui uma ordenação a ser respeitada para funcionar corretamente. Por tanto ao utilizar o FORMAT para realizar o input da variável é importante levar em consideração a seguinte estutura.
- print('Assunto 1 {}, assunto 2 {}, assunto 3{}'.format(variavel1,variavel2,variavel3))
- print('Eu me chamo {}, tenho {} anos. Moro em {}'.format(Lucas,20,Sp)
- print('Eu tenho um {}, um {} e um {]'.format(cachorro,gato,peixe))
O Python assim, como diversas linguagens de programção possui uma série de módulos que atuam em diferentes áreas. O módulo utilizado para a geração de aplicações é o módulo Tkinter, por isso ao realizar a criação de uma aplicação em Python será necessário realizar a sua importação.
Quando abordamos o tema apicações em Python é preciso ter atenção incialmente que existem dois tipos de extensões de arquivos Python, sendo elas .py e .pyw. A principal diferença entre ambas é que a .py **é voltada a execução do código junto a IDE(VS Code) entre outras, ou seja, demonstra o código desenvolvido e é voltada na maioria dos casos ao processo de desenvovimento e manutenção. Porém ao falarmos de aplicações em Python, existe uma opção de extensão chamada .pyw, no qual basicamente é executada a aplicação desenvolvida em linguagem Python, com isso não abrindo a IDE e nem exibindo o código utilizada para desenvolvimento, sendo voltada ao ponto de utilização do usuário.
- Modelo de importação do módulo Tkinter:
import Tkinter
Note
Normalmente ao realizar a importação de um módulo é realizada a adição de um "nickname" para se referir a esse módulo, essa pratica facilita bastante o processo de desenvolvimento, tornando-o mais ágil. Ao utilizarmos o Tkinter, normalmente adicionamos o nickname tk.
- Modelo de atribuição de Nickname/Alias ao módulo Tkinter:
import tkinter as tk
O módulo Tkinter da atual versão do Python(versão 3.12.3), conta com dois modelos temáticos. O primeiro sendo o TK e o segundo o TTK(mais recente).
- Modelo temático TK: Modelo temático antigo do Python criado em 1994, possuindo um visual mais baseado em temas com visual retro.
- Modelo temático TTK: Modelo temático com aspectos visuais um pouco mais atualizado, tendo a sua criação em 2007.
Para a utilização do modelo temático TTK de 2007 é preciso realizar a sua importação. Esse processo pode ser feito da seguinte forma:
- Modelo de importação do modelo temático TTK:
import tkinter
from tkinter import ttk
Toda janela de aplicação Python, pode ser configurada em relação a sua altura, estado inicial, permissões, ordenação e icones. Todas essas informações estarão contidas nesse bloco, dividindo em passo a passo de cada etapa.
Toda janela de aplicação em Python vai possuir a estrutura titulo e o loop de execução da aplicação, que fica posicionado no fim do código. Sendo elas as duas demonstradas abaixo:
-
Modelo de titulo de aplicação:
Este bloco possui o nome da pagina atual da aplicação, neste caso a página incial.
- NomeDaPaginaMainDaAplicação.title('Texto inserido como titulo')
- Exemplo: root.title('Página Inicial') -
Modelo de mainloop()
Este bloco possui o main loop, metodo utilizado para que a aplicação fique funcionando, sem a criação desse metodo a aplicação é executada e encerrada ao termino da execução automaticamente.
- NomeDaPaginaMainDaAplicação.mainloop()
- Exemplo: root.mainloop()
Toda a janela de aplicação tem dois parametros para definir a sua medida, sendo elas a largura(width) e altura(height). Por padrão as medidas são em Pixels, podendo ser criada da seguinte forma:
- Largura da janela da aplicação:
- wind_width = MedidaDesejadaLargura - Altura da janela da aplicação:
- wind_height = MedidaDesejadaAltura
Para que ocorra o dimensionamento adequado da resolução de uma tela, basta utilizar os metodos do Tkinter winfo_screenwdith() e winfo_screenheight(). Esses metodos retornam as dimensões de tela do computador, garantindo a normalização do funcionamento das aplicações em diversas resoluções de tela.
Note
Para utilizações futuras, irei realizar a atribuição das proporções de tela encontrados a variáveis por que apenas dessa forma se torna possível a sua utilização adequada na configuração da janela da aplicação Python
- Largura de resolução de tela:
- screen_x = NomeDaPaginaMainDaAplicação.winfo_screenwidth()
- Exemplo: screen_x = root.winfo_screenwidth() - Altura da resolução da tela:
- screen_y= NomeDaPaginaMainDaAplicação.winfo_screenheight()
- Exemplo: screen_y = root.winfo_screenheight()
Para a definição adequada e obtenção de valores manipuláeis é necessário que ocorra a conversão dos valores obtidos para o formato INT e que esses valores sejam atriuidos a variáveis. Por isso o calculo aplicado para a largura e altura será a resolução da tela divido por 2 - as dimensões da aplicação divida por 2. Com isso obtemos a seguinte expressão.
-
Centralizando a aplicação na horizontal.
- center_x = int(LarguraDaTela/2 - LarguraDaAplicação/2)
- Exemplo: center_x = int(screen_x/2 - wind_width/2) -
Centralizando a aplicação na vertical.
- center_y = int(AlturaDaTela/2 - AlturaDaAplicação/2)
- Exemplo: center_y = int(screen_y/2 - wind_height/2)
Após a obtenção de todas as informações de posicionamento e medidas da aplicação e tela, podemos utilizar o metodo geometry para que de fato sejam aplicadas as informações calculadas.
- Modelo de uso do metodo geometry:
- NomeDaPaginaMainDaAplicação.geometry = f'{LarguraDaJanelaDaAplicação}x{AlturaDaJanelaDaAplicação}+{PosiçãoCentralNoEixoHorizontal}+{PosicaoCentralNoEixoVertical}'
- Exemplo: root.geometry = f'{wind_width}x{wind_height}+{center_x}+{center_y}'
Para realizar a atribuição de um icone a uma aplicação é necessário a utilização do metodo iconbitmap. Lembrando que a imagem a ser utilizada precisa obrigatóriamente estar nessa formatação .ICO
- Modelo de utilização do metodo iconbitmap
- NomeDaPaginaMainDaAplicação.iconbitmap(Caminho do arquivo)
- Exemplo: root.iconbitmap('C:\Users\...)
Além das configurações de tela de aplicação, é possível também configurar o comportamento da aplicação tanto ao incializar, quanto durante o seu funcionamento, sendo possível até mesmo ordenar telas de acordo com o objetivo do projeto.
- Estado ao iniciar a aplicação com o metodo state.
Ao inciarmos uma aplicação em Python é possível definir o comportamento da janela da aplicação. As opções estarão listadas a seguir após a apresentação do metodo.
- NomeDaPaginaMainDaAplicação.state('Comportamento da tela ao iniciar')
- Exemplo: root.state('normal')
Note
Desta forma ao inciar a aplicação a mesma manterá as informações de dimensionamento configuradas por padrão. O mesmo se aplica as outras variações. Sendo elas 'zoomed' = tela cheia, 'iconic' = minimizada e 'normal' = medida padrão
Este metodo permite o redimensionamento da janela da aplicação, sendo baseado em valores booleanos ou seja True ou False ou numericamente(1,0). Desta forma é possível restringir o redimensionamento da janela da aplicação, lembrando que por padrão essa é uma opção que já vem disponibilizada, permitindo o redimensionamento.
- Modelo de uso do meotodo resizeble:
- NomeDaPaginaMainDaAplicação.resizeble(True,true) -> Desta forma está habilitada a edição das dimensões da janela da aplicação.
- Exemplo: root.resizeble(0,0) -> Desta forma está bloqueada o redimensionamento da janela da aplicação.
Widgets são componentes podem ser utilizados dentro de aplicações, alguns exemplos de widget disponíveis são botões, caixas de texto, checkbox, etc. Alguns widgets podem ser criados utilizando metodos diretos e possuem argumentos próprios. Esses widgets são atribuidos a variáveis para que depois possam ser exibidos na aplicação.
É importante citar que todo o construtor para ser exibido no código precisa da presença de um .pack() , esse comando garante o retorno do objeto contruido para a aplicação.
- Modelo de utilização do .pack
- ObjetoConstruido.pack()
- Exemplo: btn.pack() ; textbox.pack(); etc...
- btn = ttk.Button(NomeDaPaginaMainDaAplicação,text = 'Mensagem exibida no botão') -> lembrando que essa é a estrutura básica, mas podem ser utilizadas imagens e outros conteúdos também.
- Exemplo: btn = ttk.Button(root,text = 'Pressione')
- textbox = ttk.Entry(NomeDaPaginaMainDaAplicação,text = 'Insira o texto aqui')
- Exemplo: textbox = ttk.Entry(root,text = 'Insira o texto')
- checkbox = ttk.Checkbutton(NomeDaPaginaMainDaAplicação,text='Mensagem exibida no checkbox')
- Exemplo: checkbox = ttk.Checkbutton(root,text = 'Confirma a leitura das regras da comunidade')