Anotações Python
Sumário
- Anotações Python
- Sumário
- Anotações Gerais
- Tipos Primitivos
- Operações Aritméticas
- Ordem De Precedência
- Anotações Print
- Bibliotecas
- Manipulação De Texto
- Estrutura Condicional Simples E Composta
- Estrutura De Repetição Ou Laços Ou Iterações
- Coleções
- Cores No Terminal Python
- Conversão Base De Dados
- Funções
- Modularização
- Pacotes
- Tratamento De Erros E Exceções
- Manipulação De Arquivo Txt
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
- :()
- :**
- :*,/,//,%
- :+,-
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