Best Flask open-source libraries and packages

Python Studies

All studies about python
Updated 2 months ago

Anotações Python

Sumário

Anotações gerais

Refinamento sucessivo : particionar um aplicação e realizar testes em quando desenvolve, para por exemplo evitar erros no começo meio, e corrigi los enquanto em fase de desenvolvimento.
Inverter string digitada com : var[::-1]
Flag - Ponto de parada
Consegue-se receber o mesmo valor para várias variáveis utilizando:
ex = ex1 = ex2 = ex3 = 0
reverse = True - torna algumas funções invertidas ex: L.sort()
função == Método
toda função abre e fecha parênteses após o nome ex: f()

Tipos Primitivos

  • int - inteiro
  • bool - booleano / true , false
  • float - números com vírgula
  • str - cadeia de texto

Operações Aritméticas

  • Adição: +
  • Subtração: -
  • Multiplicação: *
  • Divisão: /
  • Potência: **
  • Divisão: //
  • Resto da divisão/Módulo : %
  • Comparação: ==
  • Recebe: =

Ordem de precedência

  1. :()
  2. :**
  3. :*,/,//,%
  4. :+,-

Anotações Print

dentro de um print com f string ou .format pode se utilizar :.3f dentro das chaves para definir apenas 3 número após o ponto flutuante
end=’ ’ não quebra a linha
\n - quebra a linha
3 aspas duplas para pegar mais de uma linha
f string - f‘teste : {variável}’

Bibliotecas

Math

ceil(N) : arredonda para cima
floor(N) : arredonda para baixo
trunc(N) : reduz casas decimais sem arredondar
pow(N) : potência
sqrt(N) : raiz quadrada
factorial(N) : fatorial

Random

random() : gera número aleatório entre 0 e 1
randint(numero inicial,Numero Final) : gera um número aleatório inteiro em que é possível escolher o range
shuffle(L) : Embaralha uma lista

Time

sleep(segundos): faz o processo aguardar a quantidade de tempo definido antes de continuar a execução

Datetime

date.today().year : ano atual

Operator

itemgetter - usado para buscar itens dentro de dicionários

Urllib

urllib.request.urlopen( Url de algum site ) - tenta acessar algum site
variavel_com_url_site.getcode() - Retorna um código para a tentativa de acesso sendo 200 bem sucedido.

Manipulação de texto

Localização

frase[9:21] - Retorna o valor de frase começando na posição 9 e indo até a 20 (o python desconsidera a última)
len(f) - quantidade de caracteres em uma string ou lista
(T).count() - conta a quantidade de um caracter dentro de uma string / list
(T).find() - mostra a posição de um caracter dentro de uma string / lista. se não existir ele retorna -1
(T).index(Valor procurado, Início) - mostra a posição do valor procurado dentro de uma variável composta
in - retorna valor booleano
del(Variável)

Transformações

replace() - Substitui uma string/valor de lista por outra string digitada
upper() - Deixa uma string em maiúsculo
lower() - Deixa uma string em minúsculas
capitalize() - Deixa uma string em minúscula e coloca a primeira letra em maiúscula
title() - Deixa cada palavra em uma string em maiúscula
strip() - Remove os espaços inúteis antes do começo da string e no final
rstrip() - Remove os espaços da direita
lstrip() - Remove os espaços da esquerda
string.center(Número de caracteres) - Centraliza o texto no Números de caracteres definidos

Divisão

split() - Divide uma string em uma lista

Junção

'separador'join(frase) - junta um string // exemplo ‘-’.join(frase) junta a string e separa por ‘-’
zfill(número) - adiciona uma quantidade de zeros a uma string

Estrutura Condicional simples e composta

Tipos

Sequencial

roda o programa de forma linear de cima para baixo executando todos os comandos

Pythonizar

Escreva tudo em uma linha exemplo: print(‘1’ if var <=3 else ‘2’)

Simples

Ele executa apenas um bloco condicional

Composto

executa mais de um bloco condicional ex : else

Ninhadas

Condições dentro de condições

if

if - se Elif - Precisa sempre de um if
Else - So pode ser utilizado uma vez dentro da Ninhada com if ou elif

Estrutura de Repetição ou laços ou Iterações

Laço com variável de controle

for

for x in range(Número Inicial, Número Final(Sendo o Resultado NF-1), qual é a iteração( Exemplo Somar(1) ou subtrair(-1)) )
for x enumerated( Variável Composta ) retorna o valor e o índice.

Laço com teste lógico

While

while not (Valor Booleano):
while true: loop infinito
break - interrompe o laço de repetição
continue - continua o laço e caso o programa rode alguma parte que não contenha o continue sendo que ele existe dentro do mesmo laço ele para

Coleções

Anotações

Você pode interpolar as coleções, por exemplo: Dicionários Dentro de listas

Tuplas

Caracter - ()

Tuplas são Imutaveis sorted(T) - ordena a tupla porém não armazena o valor, para guardar usar variável

Listas

Caracter - []

sum(L) - soma todos os valores de uma lista
L.append() - adiciona um valor na lista
L[índice] - mostra o item que está na posição indicada
L.insert(Posição,Valor) - adiciona um valor em uma posição selecionada
L.remove() - remove um valor da lista
max(L) - Mostra maior valor da lista
min(L) - Mostra o menor valor da lista
(L).sort - Ordena a lista
del L[Índice] - Deletar um item de uma lista pelo Índice escolhido
L.pop(Índice) - Deletar um item de uma lista pelo Índice escolhido ou se não for entregue argumento ele remove o último valor.
L.remova(valor) - Remova o item procurado pelo valor(Conteúdo) definido
L1 = L2 - o sinal ‘=’ faz um ligação entre as listas, onde a mudança de um afeta o outro
L1 = L2[:] - copia a lista, não tendo ligação
L1.append(L2[:]) - Copia a list L2 para Dentro da lista L1
L1 = [[‘Valor1’,’Valor2’],[‘Valor1’,’Valor2’]] - Declara uma lista dentro de lista
print(L[0][0]) - mostra o índice 0 dentro da lista [0]
L.clear() - Limpa uma lista
L.choice - Escolhe um item aleatoriamente dentro da lista

Dicionários

Caracter - {}

Principal diferença entre a lista : Tem índices Literais (Letras/Palavras)

D[‘Índice Literal’] = ‘Valor’ - Adiciona um valor a variável
del D[‘Índice Literal’] - Deleta o valor que está no índice digitado.
D.values() - Retorna os Valores
D.keys() - Retorna os Índices Literais
D.items() - Retorna tanto os Índices(Keys), como os Valores(values)
D.copy() - Copia os valores de um dicionário sem fazer relação, (para utilização em laços e ETC)
D1 = sorted(D2.items(), key=itemgetter(índice do dicionário sendo 0 as keys, e 1 os valores) ) - Ordena em ordem
crescente um dicionário com base nos valores

Cores no Terminal Python

ANSI

\033[Style;Text;Back;m \033[0;33;44m

Style

0 - none
1 - bold
4 - underline / sublinhado
7 - negativo

Text

30 - branco
31 - vermelho
32 - verde
33 - amarelo
34 - azul
35 - violeta
36 - ciano
37 - cinza

Back

40 - branco
41 - vermelho
42 - verde
43 - amarelo
44 - azul
45 - violeta
46 - ciano
47 - cinza

Conversão Base de dados

bin() - converter de decimal para binário
oct() - converter de decimal para Octal
hex() - converter de decimal para hexadecimal

Funções

O que é

São rotinas, que podem ou não retornar valores e podem ou não usar parâmetros

Declaração basica função sem parâmetros

def funcao():
 Rotina/algoritmo

Declaração basica função com parâmetros

def funcao(parâmetro):
    print(‘-’*10)
    print(parâmetro)
print(‘-’*10)

Empacotar parâmetros - Receba vários parâmetros

def contador(*núm) - recebe vários parâmetros

Interactive help

help(função interna) - Retorna uma ajuda sobre uma função interna

docstrings

O que é

String de documentação, ou seja Help para uma função criada por você

Como criar

Uma linha após definir a função criar 3 aspas duplas e fechar o que estiver dentro é o ”manual de como usar sua função”

exemplo

def funcao(a,b,c):
    “””
    -> aqui vai uma descrição direta
    :param a: Descrição do parâmetro a
:param b: Descrição do parâmetro b
:param c: Descrição do parâmetro c
:return: se a função tem ou não retorno se tiver qual o retorno
    “””
    Aqui começa o código da função

parâmetros opcionais

O que é

cria Parâmetros que podem ou não serem inseridos sem influenciar na funcionalidade do programa

Como criar

colocar um valor para uma variável caso ela não for inserida

Exemplo

def funcao(a,b,c=0(caso c não receba nenhum valor ele irá receber 0)):
    s = a + b + c
print(s)

Escopo de Variáveis

Definição Escopo

local onde a variável vai existir e onde ela não vai mais existir

Escopo local

existe apenas em uma parte do programa

Escopo global

existe em todo lugar do programa

Dica

No python quando definir uma variável global e uma local com o mesmo nome, ele irá criar 2 variáveis diferentes sem ligação, para criar ligação você deverá colocar o comando global

Exemplo
def funcao():
    global (nome da variável)
    aqui começa o código da função

retorno de resultados

Como criar

colocar o comando return na última linha da função juntamente com uma variável com o valor que deseja retornar

Exemplo

def funcao(a,b,c):
    s = a+b+c
return s

Modularização

O que é

a separação do programa principal das funções

Focos

  • Dividir um programa Grande
  • Aumentar a legibilidade
  • Facilitar a manutenção

Como Criar

Criar um arquivo .py na mesma pasta que o programa principal com o nome desejado
dentro colocar todas as funções que precisa, após isso no programa principal utilizar import nome_do_arquivo, ou from nome_do_arquivo import nome_da_função

Vantagens

  • Organização do código
  • Facilidade na manutenção
  • Ocultação de código detalhado
  • Reutilização em outros projetos

Pacotes

O que é

Uma pasta com vários Módulos, podendo separar os módulos por assunto

Como criar

Apenas criar um pasta, dentro do projeto ele já reconhece que pode potencialmente ser um pacote
Sempre dentro de um pacote deve-se ter um arquivo chamado: __init__.py onde irá ficar as funções

Quando utilizar

Quando os projetos começam a ficar muito grandes

Tratamento de Erros e Exceções

Tipos de Erros

Sintaxe

Erros de digitação, o comando digitado não existe

Exceção

são erros que acontecem por atribuição errada, receber número diferente do esperado e etc

Tratamento de Erro

O que é

verificar se algo é possível de executar sem resultar em erro, caso tenha problema realizar outro comando

Como criar

colocar try: quebrar linha e escrever o comando que ele deve tentar, depois de escrever o bloco de comando quebra linha ‘except:’ quebra linha, e escrever o que fazer caso tenha dado erro, e caso necessário else: e colocar o que deu certo. finally:, escreve de qualquer maneira com ou sem erro

Exemplo

try:
    Bloco de comando
except: / variante / except Exception as erro:
    caso tenha dado erro / variante / print(erro.__class__ ) ele mostra qual erro foi o erro
(opcional) else:
    caso tenha dado certo 
(opcional) finally:
    executa de qualquer maneira dando certo ou errado

except

você pode criar inúmeros except e especificar para cada um deles qual o erro e como tratar cada um:

except TypeError:
    Tratamento para o erro TypeError.
except ValueError:
    Tratamento para o erro ValueError

Manipulação de Arquivo txt

Preparar para Ler Salvar Substituir

variável = open(‘Caminho que deseja criar/Ler’,Parâmetro)

Parâmetros para criar Ler

‘r’ - Transforma em uma variável pronta para leitura
‘a’ - Transforma em uma variável pronta para adicionar texto
‘w’ - Transforma em um variável pronta para substituir tudo e colocar um novo texto
após cada letra pode se colocar o + para se caso o arquivo não exista ele cria, exemplo: a+
encoding=’utf-8’ - Parâmetro Adicional para poder fazer qualquer Edição/Leitura e Salvamento de arquivos com acentos

Salvar texto

variável_pronta_para_[adicionar/substituir]_texto.write(‘texto desejado\n’) (o ‘\n’ é opcional pois ele quebra linha, porém é extremamente recomendado pois caso adicione mais de um texto ele não quebra automaticamente a linha)

Ler arquivo de texto

print(variável_pronta_para_ler_texto.read()) - lê o valor do arquivo inclusive com quebra linhas

Tags python pytest