Learning Hub Logo

Sobre Diego Pinho

Professor especialista em tecnologia com mais de 10 anos de experiência. Autor de livros técnicos e criador de cursos que já impactaram milhares de estudantes.

Visite meu site principal →

Serviços

  • Área do Aluno
  • Solicite um orçamento
  • Trabalhe Conosco

Redes Sociais

  • Youtube
  • TikTok
  • Instagram
  • LinkedIn

Links

  • Site Institucional
  • Nosso Blog
  • Cursos Online
  • Livros Publicados

Professor Diego Pinho

Educação, Tecnologia e IA © 2026

Python›Resumo Prático de Python

Resumo Prático de Python

Guia essencial de Python em português para iniciantes. Conceitos fundamentais com exemplos práticos do dia a dia.

⚡1 min de leitura

1. Operadores e Tipos Básicos

1# Comentários começam com # 2 3# Operações com números 410 + 5 # => 15 520 - 8
# => 12
64 * 3 # => 12
715 / 3 # => 5.0
817 // 5 # => 3 (divisão inteira)
917 % 5 # => 2 (resto)
102 ** 8 # => 256 (potência)
11
12# Booleanos
13True # Verdadeiro
14False # Falso
15
16# Lógica
17not True # => False
18True and False # => False
19True or False # => True
20
21# Comparações
225 == 5 # => True
2310 != 8 # => True
243 < 10 # => True
255 <= 5 # => True
262 < 3 < 4 # Encadeamento elegante
27
28# Strings com aspas duplas ou simples
29mensagem = "Olá, Python!"
30outro = 'Bem-vindo'
31
32# Concatenação
33mensagem + " " + outro # => "Olá, Python! Bem-vindo"
34
35# Comprimento
36len(mensagem) # => 13
37
38# Acessar caracteres
39mensagem[0] # => 'O'
40mensagem[-1] # => '!'
41
42# F-strings (interpolação)
43nome = "Python"
44versao = 3.11
45f"{nome} {versao}" # => "Python 3.11"
46
47# None para valor ausente
48valor = None
49valor is None # => True

2. Variáveis e Saída

1# Exibir na tela 2print("Bem-vindo ao Python!") 3print(25, "anos", 1.75, "metro") 4 5# Receber entrada do usuário 6nome = input("Qual seu nome? ") 7idade = input("Quantos anos? ") 8 9# Atribuição simples (sem tipos declarados) 10quantidade = 10 11taxa = 0.15 12ativo = True

3. Coleções

1# Listas - coleções ordenadas e mutáveis 2frutos = ["maçã", "banana", "laranja"] 3numeros = [1, 2, 3, 4, 5] 4mistos = [10, "texto", 3.14, True] 5 6# Adicionar e remover 7frutos.append("uva") # ["maçã", "banana", "laranja", "uva"] 8frutos.remove("banana") # Remove por valor 9ultimo = frutos.pop() # Remove o último 10 11# Acessar elementos 12frutos[0] # "maçã" (primeiro) 13frutos[-1] # "laranja" (último) 14frutos[1:3] # Fatiamento 15 16# Verificações 17len(frutos) # 2 18"maçã" in frutos # True 19frutos.extend(["abacaxi", "manga"]) # Adiciona vários 20 21 22# Tuplas - coleções imutáveis 23coordenadas = (10, 20) 24rgb = (255, 128, 0) 25 26# Acesso e desempacotamento 27x, y = coordenadas # x=10, y=20 28r, g, b = rgb # Desempacota valores 29 30# Não pode modificar: "rgb[0] = 200" gera erro 31# Mas pode converter para lista se precisar 32rgb_lista = list(rgb) 33 34 35# Dicionários - pares chave-valor 36pessoa = {"nome": "Ana", "idade": 28, "cidade": "São Paulo"} 37preco_produtos = {"notebook": 3000, "mouse": 50, "teclado": 200} 38 39# Acessar valores 40pessoa["nome"] # "Ana" 41pessoa.get("telefone") # None 42pessoa.get("telefone", "N/A") # "N/A" (com padrão) 43 44# Adicionar e modificar 45pessoa["profissao"] = "Engenheira" 46pessoa.update({"idade": 29}) # Atualiza 47 48# Listar chaves e valores 49list(preco_produtos.keys()) # ["notebook", "mouse", "teclado"] 50list(preco_produtos.values()) # [3000, 50, 200] 51 52# Remover 53del preco_produtos["mouse"] 54"nome" in pessoa # True 55 56 57# Conjuntos - valores únicos, sem ordem 58tags = {"python", "programacao", "iniciante"} 59numeros_pares = {2, 4, 6, 8} 60 61# Adicionar 62tags.add("tutorial") 63 64# Operações 65grupo1 = {1, 2, 3, 4} 66grupo2 = {3, 4, 5, 6} 67 68grupo1 & grupo2 # Interseção: {3, 4} 69grupo1 | grupo2 # União: {1, 2, 3, 4, 5, 6} 70grupo1 - grupo2 # Diferença: {1, 2} 71 72# Verificação 73"python" in tags # True 74len(tags) # 4

4. Controle de Fluxo

1# Condicional if/elif/else 2temperatura = 32 3 4if temperatura > 35: 5 print("Muito quente!") 6elif temperatura < 15: 7 print("Muito frio!") 8else: 9 print("Temperatura agradável") 10 11# Laço for 12palavras = ["Python", "é", "incrível"] 13for palavra in palavras: 14 print(palavra) 15 16# Com range 17for i in range(5): # 0, 1, 2, 3, 4 18 print(i * 2) 19 20for i in range(1, 11, 2): # 1, 3, 5, 7, 9 21 print(i) 22 23# Com índice usando enumerate 24frutos = ["maçã", "banana", "cereja"] 25for idx, fruto in enumerate(frutos): 26 print(f"{idx}: {fruto}") 27 28# Laço while 29contador = 0 30while contador < 3: 31 print("Contando:", contador) 32 contador += 1 33 34# Tratamento de exceções 35try: 36 numero = int(input("Digite um número: ")) 37 resultado = 10 / numero 38 print(f"Resultado: {resultado}") 39except ValueError: 40 print("Entrada inválida!") 41except ZeroDivisionError: 42 print("Não pode dividir por zero!") 43 44# Trabalhar com arquivos 45with open("dados.txt", "w") as arquivo: 46 arquivo.write("Primeira linha\n") 47 arquivo.write("Segunda linha") 48 49with open("dados.txt", "r") as arquivo: 50 for linha in arquivo: 51 print(linha.strip())

5. Funções

1# Definição básica 2def saudacao(nome): 3 return f"Olá, {nome}!" 4 5# Chamada 6saudacao("Maria") # Retorna "Olá, Maria!" 7 8# Argumentos com valores padrão 9def criar_perfil(nome, idade=18): 10 return {"nome": nome, "idade": idade} 11 12criar_perfil("João") # Usa idade padrão 13criar_perfil("Ana", idade=25) # Sobrescreve padrão 14 15# Argumentos variáveis 16def somar_multiplos(*numeros): 17 total = 0 18 for num in numeros: 19 total += num 20 return total 21 22somar_multiplos(1, 2, 3) # 6 23somar_multiplos(10, 20, 30) # 60 24 25# Argumentos nomeados variáveis 26def filtrar(**opcoes): 27 return opcoes 28 29filtrar(status="ativo", idade=25) # {"status": "ativo", "idade": 25} 30 31# Retornar múltiplos valores 32def obter_dados(): 33 return "João", 30, "São Paulo" 34 35nome, idade, cidade = obter_dados() 36 37# Escopo de variáveis 38contador_global = 0 39 40def incrementar(): 41 global contador_global 42 contador_global += 1 43 return contador_global 44 45# Funções aninhadas (closures) 46def multiplicador(fator): 47 def multiplica(numero): 48 return numero * fator 49 return multiplica 50 51mult_3 = multiplicador(3) 52mult_3(5) # 15 53 54# Funções lambda (anônimas) 55quadrado = lambda x: x ** 2 56quadrado(4) # 16 57 58# List comprehension 59quadrados = [x**2 for x in range(5)] # [0, 1, 4, 9, 16] 60pares = [x for x in range(10) if x % 2 == 0] # [0, 2, 4, 6, 8] 61 62# Dict comprehension 63indice = {x: x**2 for x in range(4)} # {0: 0, 1: 1, 2: 4, 3: 9}

6. Módulos

1# Importar módulo inteiro 2import math 3 4math.sqrt(25) # 5.0 5math.pi # 3.14159... 6math.ceil(3.2) # 4 7 8# Importar funções específicas 9from datetime import datetime 10from random import randint 11 12agora = datetime.now() 13numero = randint(1, 100) 14 15# Importar com apelido 16import json as j 17dados = j.dumps({"nome": "Pedro"})

7. Classes

1# Definição de uma classe 2class Pessoa: 3 """Representa uma pessoa com nome e idade""" 4 5 # Atributo de classe (compartilhado por todas as instâncias) 6 especie = "Homo sapiens" 7 8 # Inicializador 9 def __init__(self, nome, idade): 10 self.nome = nome 11 self.idade = idade 12 13 # Método de instância 14 def apresentar(self): 15 return f"Olá, meu nome é {self.nome}" 16 17 def fazer_aniversario(self): 18 self.idade += 1 19 return f"{self.nome} agora tem {self.idade} anos" 20 21 # Também pode retornar uma representação em string 22 def __str__(self): 23 return f"Pessoa({self.nome}, {self.idade} anos)" 24 25 26# Uso da classe 27if __name__ == "__main__": 28 # Criar instâncias 29 p1 = Pessoa("Carlos", 30) 30 p2 = Pessoa("Fernanda", 28) 31 32 print(p1.apresentar()) # "Olá, meu nome é Carlos" 33 print(p1.fazer_aniversario()) # "Carlos agora tem 31 anos" 34 print(str(p2)) # "Pessoa(Fernanda, 28 anos)" 35 36 37# Herança 38 39# Uma classe pode herdar de outra 40class Veiculo: 41 """Classe base para veículos""" 42 43 def __init__(self, marca, cor): 44 self.marca = marca 45 self.cor = cor 46 47 def info(self): 48 return f"{self.marca} {self.cor}" 49 50 51class Carro(Veiculo): 52 """Especialização de Veículo""" 53 54 def __init__(self, marca, cor, portas): 55 super().__init__(marca, cor) # Chama init da classe mãe 56 self.portas = portas 57 58 def info(self): 59 msg_base = super().info() 60 return f"{msg_base} - {self.portas} portas" 61 62 63class Moto(Veiculo): 64 def __init__(self, marca, cor, cilindrada): 65 super().__init__(marca, cor) 66 self.cilindrada = cilindrada 67 68 69if __name__ == "__main__": 70 carro = Carro("Toyota", "Preto", 4) 71 moto = Moto("Honda", "Vermelha", 500) 72 73 print(carro.info()) # "Toyota Preto - 4 portas" 74 print(isinstance(carro, Veiculo)) # True 75 76# Herança Múltipla 77 78# Uma classe pode herdar de múltiplas classes 79class Animal: 80 def fazer_som(self): 81 return "Som genérico" 82 83 84class Terrestre: 85 def caminhar(self): 86 return "Caminhando..." 87 88 89class Cachorro(Animal, Terrestre): 90 """Classe que herda de duas classes""" 91 92 def fazer_som(self): 93 return "Au au!" 94 95 def buscar(self): 96 return "Buscando a bolinha..." 97 98 99if __name__ == "__main__": 100 dog = Cachorro() 101 102 print(dog.fazer_som()) # "Au au!" 103 print(dog.caminhar()) # "Caminhando..." 104 print(dog.buscar()) # "Buscando a bolinha..."

8. Conceitos Avançados

1# Geradores - economia de memória 2def contar_ate(n): 3 """Gera números de 1 até n""" 4 i = 1 5 while i <= n: 6 yield i 7 i += 1 8 9# Não carrega tudo na memória, apenas o próximo valor 10for numero in contar_ate(5): 11 print(numero) # 1, 2, 3, 4, 5 12 13# Generator comprehension 14numeros_quadrados = (x**2 for x in range(5)) 15print(next(numeros_quadrados)) # 0 16print(next(numeros_quadrados)) # 1 17 18 19# Decoradores - modificam o comportamento de funções 20def contar_chamadas(funcao): 21 """Decorator que conta quantas vezes a função é chamada""" 22 contagem = 0 23 24 def wrapper(*args, **kwargs): 25 nonlocal contagem 26 contagem += 1 27 print(f"Função chamada {contagem} vez(es)") 28 return funcao(*args, **kwargs) 29 30 return wrapper 31 32@contar_chamadas 33def saudar(nome): 34 return f"Olá, {nome}!" 35 36saudar("Pedro") # Função chamada 1 vez(es) => "Olá, Pedro!" 37saudar("Ana") # Função chamada 2 vez(es) => "Olá, Ana!" 38 39 40# Decorador com parâmetros 41def repetir(vezes): 42 """Executa função múltiplas vezes""" 43 def decorador(funcao): 44 def wrapper(*args, **kwargs): 45 resultados = [] 46 for _ in range(vezes): 47 resultados.append(funcao(*args, **kwargs)) 48 return resultados 49 return wrapper 50 return decorador 51 52@repetir(3) 53def cumprimentar(): 54 return "Oi!" 55 56cumprimentar() # ["Oi!", "Oi!", "Oi!"]