Comentários em Python
In [1]:
#Utiliza-se o # para inserir comentários no código. Após usar #, a linha toda será entendida como comentário
#É fundamental que o código seja inteiramente comentado, pois facilita futuras manutenções no código.
In [3]:
#para comentários multilinha podemos usar três aspas simples ou duplas (""" ou ''')
#Na verdade, aspas triplas é usada para fazer documentaçao oficial do código (DocString), mas na prática pode ser usado com comentário
"""
Testando
Comentário
Multilinha
"""
Out[3]:
'\nTestando\nComentário\nMultilinha\n'
Imprimir na Tela
In [2]:
#O comando print serve para imprimir na tela
print("Python é TOP")
Python é TOP
In [8]:
#É possível imprimir varios valores (por padrão separa com espaço e quebra linha)
print(12, 35)
print(23, 56)
12 35 23 56
In [9]:
#É possível definir o separador com o atributo sep
print(23, 56, sep="-")
23-56
In [11]:
#Por padrão o Python quebra a linha (\n) em cada print
#É posśivel mudar este padrão com o atributo end
#observe que agora não tem mais quebra de linha
#por padrão o end="/n"
print(23, 56, sep="-", end="yy")
print(25, 59, sep="-", end="yy")
23-56yy25-59yy
In [14]:
#Barra invertida é caractere de escape, quando se deseja imprimir " por exemplo.
print('Python é \"TOP\"')
Python é "TOP"
Tipos de Dados
In [15]:
#inteiro
print(1)
1
In [16]:
#float
print(1.3)
1.3
In [4]:
#Com type é retornado o tipo do dado
print(type(5))
<class 'int'>
In [21]:
#booleano
#neste caso retorna False, pois 10 não é menor que 5
print(10<5)
False
Casting ou Conversão de Tipos
In [24]:
#Com o uso da função float é convertido 1 de int para float
print(type(float('1')))
<class 'float'>
In [26]:
#neste caso convertemos 11 para string e concatenamos com caractere 'b'
print(str(11) + 'b')
11b
Variáveis
In [28]:
#As variáveis podem ser definidas como espaços de memória capazes de armazenar dados (números, texto, etc).
#Por padrão, é recomendado que o nome das variáveis sejam minúsculos e sejam seprados por "_" se for composto (nome_completo)
#É muito importante que o nome da variável seja relacionado ao valor que está recebendo, facilitando manutenções futuras (cpf=05699445976)
In [30]:
#É criada a variável idade e atribuído o valor de 30
idade=30
print(idade)
30
In [31]:
#Como idade é igual a 30, a comparação idade>=18 é true. Logo a variável "maior" receberá true.
maior=idade>=18
print(maior)
True
Operadores Matemáticos
In [1]:
adicao = 10 + 10
print('Adição', adicao)
subtracao = 10 - 5
print('Subtração', subtracao)
multiplicacao = 10 * 10
print('Multiplicação', multiplicacao)
#Divisão sempre retorna um float
divisao = 10 / 3
print('Divisão', divisao)
Adição 20 Subtração 5 Multiplicação 100 Divisão 3.3333333333333335
In [4]:
#Utilizando // sempre retorna valor truncado sem decimais
divisao_inteira = 10 // 3
print('Divisão inteira', divisao_inteira)
exponenciacao = 2 ** 10
print('Exponenciação', exponenciacao)
#Retorna o resto da divisão. Muito útil para calcular paridade
modulo = 55 % 2
print('Módulo', modulo)
Divisão inteira 3 Exponenciação 1024 Módulo 1
In [5]:
#Imprimindo um expressão, o Python retorna verdadeiro ou falso
print(10 % 8 == 0)
print(16 % 8 == 0)
False True
In [6]:
#Com * da pra repetir caracteres
repetindo='P' * 3
print(repetindo)
PPP
Precedência de Operadores
In [1]:
#Em uma operação, a precedência define quais calculos serão realizados primeiro.
#No Python, temos a seguinte ordem de precedência:
#primeiro será executado o que tiver dentro de parenteses
# 1. (n + n) -
# Depois serão executadas as potências
# 2. **
# Depois as operações de multiplicação, divisão e resto.
# 3. * / // %
#E por fim operações de soma e subtração
# 4. + -
In [3]:
#Abaixo é calculado o IMC como exemplo. Observe que primeiro será calculado **2 e depois a divisão
nome = 'Paulo'
altura = 1.86
peso = 77
imc = peso / altura ** 2
print('O IMC do ',nome,' é ',imc)
O IMC do Paulo é 22.25690831309978
Formatando String
In [5]:
nome = 'Paulo'
altura = 1.86
peso = 77
imc = peso / altura ** 2
#As "f-strings" permitem formatar strings. Para usar basta inserir 'f'
#Inserindo '.2f' formata com duas casas decimais e faz o arredondamento se necessário
linha_1 = f'{nome} tem {altura:.2f} de altura,'
linha_2 = f'{peso} quilos e seu imc é'
linha_3 = f'{imc:.2f}'
print(linha_1)
print(linha_2)
print(linha_3)
Paulo tem 1.86 de altura, 77 quilos e seu imc é 22.26
Inserindo dados com INPUT
In [6]:
#input permite que seja inserido um valor
nome = input('Qual o seu nome? ')
print(f'O seu nome é {nome}')
numero_1 = input('Digite um número: ')
numero_2 = input('Digite outro número: ')
int_numero_1 = int(numero_1)
int_numero_2 = int(numero_2)
print(f'A soma dos números é: {int_numero_1 + int_numero_2}')
O seu nome é Paulo
A soma dos números é: 6
Condicional IF / ELIF / ELSE
In [9]:
#O Python possui uma estrutura condicional formada pelo IF (SE), ELIF (senão se) e ELSE (senão)
#O exemplo imprime a situação do aluno de acordo com a média
media=30
if (media>=90): print("Aluno Excelente")
elif (media>=70 and media<=89): print("Aluno Bom")
elif (media>=60 and media<=69): print("Desempenho Mediano")
else: print("Reprovou")
Reprovou
Operadores de Comparação e Lógicos
In [ ]:
#Operadores de Comparação
# OP Significado Exemplo (True)
# > maior 2 > 1
# >= maior ou igual 2 >= 2
# < menor 1 < 2
# <= menor ou igual 2 <= 2
# == igual 'a' == 'a'
# != diferente 'a' != 'b'
In [12]:
# Operadores lógicos
#and (e): todas as condições precisam ser verdadeiras para o retorno ser verdadeiro
#or (ou): apenas umas das condições precisa ser verdadeira para o retorno ser verdadeiro
#not (não): inverte o retorno da expressão
In [7]:
#o exemplo abaixo pede para entrar no programa e digitar uma senha
#Se o usuário digitar "E" e a senha correta, imprimir "Entrar", senão "Sair"
entrada = input('[E]ntrar [S]air: ')
senha_digitada = input('Senha: ')
senha_permitida = '123456'
if entrada == 'E' and senha_digitada == senha_permitida:
print('Entrar')
else:
print('Sair')
Entrar
In [14]:
#Agora vamos tratar para que o usuário também possa digitar "e" minúsculo
entrada = input('[E]ntrar [S]air: ')
senha_digitada = input('Senha: ')
senha_permitida = '123456'
if (entrada == 'E' or entrada == 'e') and senha_digitada == senha_permitida:
print('Entrar')
else:
print('Sair')
Entrar
In [16]:
#O operador NOT inverter o resultado de uma expressão
aprovado=True
print(not aprovado)
False
In [23]:
#Operadores IN e NOT IN
# As Strings são iteráveis (pode ser navegavel pela posição)
# 0 1 2 3 4
# P a u l o
# -5-4-3-2-1
In [17]:
#pegando elemento da posição 2
nome = 'Paulo'
print(nome[2])
u
In [18]:
#pegando elemento da posição -3 (sentido direita para esquerda)
nome = 'Paulo'
print(nome[-3])
u
In [20]:
# Operador in verifica se existe 'ulo' na string
nome = 'Paulo'
print('ulo' in nome)
True
In [22]:
# Operador not in verifica se não existe 'ulo' na string. Retorna false porque existe
nome = 'Paulo'
print('ulo' not in nome)
False
Interpolação
In [3]:
#Interpolação é uma forma de formatar a impressão de valores na tela.
#Os simbolos abaixo definem o tipo de dado
# s - string
# d e i - int
# f - float
# x e X - Hexadecimal (ABCDEF0123456789)
nome = 'Paulo'
preco = 1000.95897643
#vamos formatar com duas casas defimais %2.f
variavel = '%s, o preço é R$%.2f' % (nome, preco)
print(variavel)
#X converte um valor para hexadecimal. O valor 08 estabelece 8 casas
valor=1000
print('O hexadecimal de %d é %08X' % (valor, valor))
Paulo, o preço é R$1000.96 O hexadecimal de 1000 é 000003E8
f-string
In [20]:
#f-string é uma forma mais moderna de fazer formatação nos textos
variavel = 'ABC'
print(f'{variavel}')
#completa o que faltar a esquerda para completar 10 digitos
print(f'{variavel: >10}')
#coloca a direita no meio e completa com espaços para ter 10 dígitos
print(f'{variavel: <10}')
#deixa a variavel no meio e completa para completar 10 dígitos
print(f'{variavel: ^10}')
#converte para hexadecimal com 8 casas
print(f'O hexadecimal de 1000 é {1000:08X}')
#formata com duas casas decimais (arredonda se necessário)
valor=1005.4556789
print(f'O valor do produto é {valor:.2f}')
ABC ABC ABC ABC O hexadecimal de 1000 é 000003E8 O valor do produto é 1005.46
Fatiando Strings
In [32]:
#Fatiamento (slice) é pegar parte de uma string maior
#Para fatiar, temos a seguinte sintaxe: nome_string[posição inicial : posição final : step]
variavel = 'Palmeiras'
#posição 1 até 5 (mas 5 não entra)
print(variavel[1:5])
#retorna posição 1 até o fim
print(variavel[1:])
#retorna do inicio até posicao 4 (5 não entra)
print(variavel[:5])
#len() retorna o número de caracteres
print(len(variavel[1:]))
#retorna de 0 até o tamanho da variavel pulando de 2 em 2 (step)
print(variavel[0:len(variavel):2])
#o ínidice negativo pega de traz para frente
print(variavel[-1:-10:-1])
#Tambḿe retorna todos os valores invertidos
print(variavel[::-1])
alme almeiras Palme 8 Plers sariemlaP sariemlaP
In [2]:
#Strings são imutáveis, ou seja, não é possível alterar uma parte da string
#Por exemplo, ao tentar trocar a letra 'o' por 'a' gera erro
nome = 'Paulo'
nome[4]='a'
--------------------------------------------------------------------------- TypeError Traceback (most recent call last) Cell In[2], line 4 1 #Strings são imutáveis, ou seja, não é possível alterar uma parte da string 2 #Por exemplo, ao tentar trocar a letra 'o' por 'a' gera erro 3 nome = 'Paulo' ----> 4 nome[4]='a' TypeError: 'str' object does not support item assignment
In [10]:
#É preciso criar uma nova string e fazer a alteração na atribuição do valor na nova variável
nome='Paulo'
novo_nome = f'{nome[0:4]}a'
print(novo_nome)
Paula
Try - Exception
In [8]:
#Para garatir que o código não trave ou gere erros ilegíveis ao usuário, é uma boa prática utilizar Try-Exception
#try -> tentar executar o código
#except -> executa se ocorreu algum erro ao tentar executar
numero_str = input('Vou dobrar o número que vc digitar: ')
try:
numero_float = float(numero_str)
print('FLOAT:', numero_float)
print(f'O dobro de {numero_str} é {numero_float * 2:.2f}')
except:
print('Isso não é um número')
Isso não é um número
Variáveis e Constantes
In [36]:
#As variáveis costumam trocar de valores constantemente
#Uma constante, em teoria, não deve trocar de valores.
#no Python, é um padrão deixar as variáveis minúsculas e constantes maiúsculas
#variável
raio=2
#constante
PI=3.14
In [ ]:
In [ ]:
In [ ]:
In [ ]:
In [ ]: