Introdução ao Python para iniciantes
1. O que é Python e por que aprender?
Python foi criado por Guido van Rossum no final dos anos 1980 e lançado em 1991 com uma filosofia clara: legibilidade e simplicidade. O nome não vem da cobra, mas do grupo de comédia britânico Monty Python. A linguagem foi projetada para que programadores lessem código como se fosse inglês simples, reduzindo drasticamente o custo de manutenção de software.
A filosofia do Python está documentada no "Zen do Python" (PEP 20), que inclui princípios como "Explícito é melhor que implícito" e "Simples é melhor que complexo". Esses princípios tornam Python uma escolha excelente para iniciantes e profissionais.
Principais áreas de aplicação:
- Desenvolvimento web: frameworks como Django e Flask
- Ciência de dados: pandas, NumPy, Matplotlib
- Automação de tarefas: scripts para manipulação de arquivos, web scraping
- Inteligência Artificial: TensorFlow, PyTorch, scikit-learn
- Desenvolvimento de jogos: Pygame
Comparação rápida com outras linguagens:
| Característica | Python | Java | C | JavaScript |
|---|---|---|---|---|
| Curva de aprendizado | Baixa | Média | Alta | Média |
| Tipagem | Dinâmica | Estática | Estática | Dinâmica |
| Sintaxe | Legível | Verbosa | Complexa | Flexível |
| Velocidade | Moderada | Rápida | Muito rápida | Rápida |
2. Instalação e primeiro ambiente
Instalação do Python 3.x
Windows: Acesse python.org, baixe o instalador e marque "Add Python to PATH" durante a instalação.
macOS: Use o Homebrew: brew install python3 ou baixe do site oficial.
Linux: A maioria das distribuições já vem com Python. Verifique com python3 --version. Se necessário: sudo apt install python3 (Debian/Ubuntu).
Interpretador interativo (REPL)
Após instalar, abra o terminal e digite python3 (ou python no Windows):
Python 3.11.0 (main, Oct 24 2022, 18:26:48)
[GCC 11.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> print("Olá, mundo!")
Olá, mundo!
>>> 2 + 2
4
>>> exit()
Editores e IDEs recomendados:
- VS Code: Leve, com extensões para Python
- PyCharm: IDE completo, versão Community gratuita
- Thonny: Excelente para iniciantes absolutos
- Jupyter Notebook: Ideal para análise de dados
3. Fundamentos da sintaxe
Variáveis e tipos de dados
Python é dinamicamente tipado — você não precisa declarar o tipo:
# Tipos básicos
idade = 25 # int
altura = 1.75 # float
nome = "Maria" # string
estudante = True # bool
# Verificando tipos
print(type(idade)) # <class 'int'>
print(type(altura)) # <class 'float'>
Operadores
# Aritméticos
soma = 10 + 5 # 15
subtracao = 10 - 5 # 5
multiplicacao = 10 * 5 # 50
divisao = 10 / 3 # 3.333...
divisao_inteira = 10 // 3 # 3
resto = 10 % 3 # 1
potencia = 2 ** 3 # 8
# Relacionais
print(10 > 5) # True
print(10 == 5) # False
print(10 != 5) # True
# Lógicos
print(True and False) # False
print(True or False) # True
print(not True) # False
Entrada e saída
nome = input("Digite seu nome: ")
idade = int(input("Digite sua idade: ")) # Converte para inteiro
print(f"Olá {nome}, você tem {idade} anos!")
4. Estruturas de controle de fluxo
Condicionais
nota = float(input("Digite a nota: "))
if nota >= 7:
print("Aprovado")
elif nota >= 5:
print("Recuperação")
else:
print("Reprovado")
Laços de repetição
# for com range
for i in range(5):
print(f"Contagem: {i}")
# for em lista
frutas = ["maçã", "banana", "laranja"]
for fruta in frutas:
print(fruta)
# while
contador = 0
while contador < 5:
print(f"While: {contador}")
contador += 1
Controle de laços
# break - interrompe o loop
for i in range(10):
if i == 5:
break
print(i) # 0, 1, 2, 3, 4
# continue - pula para próxima iteração
for i in range(5):
if i == 2:
continue
print(i) # 0, 1, 3, 4
# else em loops - executa se não houve break
for i in range(3):
print(i)
else:
print("Loop concluído sem interrupção")
5. Estruturas de dados essenciais
Listas
# Criação e indexação
numeros = [10, 20, 30, 40, 50]
print(numeros[0]) # 10
print(numeros[-1]) # 50 (último elemento)
# Fatiamento
print(numeros[1:4]) # [20, 30, 40]
print(numeros[::2]) # [10, 30, 50] (pulando de 2 em 2)
# Métodos comuns
numeros.append(60) # Adiciona ao final
numeros.insert(0, 5) # Insere na posição 0
numeros.remove(30) # Remove o valor 30
numeros.sort() # Ordena a lista
print(len(numeros)) # Tamanho da lista
Tuplas e dicionários
# Tupla - imutável
coordenadas = (10, 20)
print(coordenadas[0]) # 10
# Dicionário - chave:valor
aluno = {
"nome": "João",
"idade": 20,
"curso": "Ciência da Computação"
}
print(aluno["nome"]) # João
print(aluno.get("nota", "N/A")) # N/A (valor padrão)
aluno["nota"] = 8.5 # Adiciona nova chave
Conjuntos (sets)
conjunto_a = {1, 2, 3, 4}
conjunto_b = {3, 4, 5, 6}
print(conjunto_a | conjunto_b) # União: {1, 2, 3, 4, 5, 6}
print(conjunto_a & conjunto_b) # Interseção: {3, 4}
print(conjunto_a - conjunto_b) # Diferença: {1, 2}
6. Funções e modularização
Definindo funções
def saudacao(nome, saudacao="Olá"):
"""Retorna uma saudação personalizada."""
return f"{saudacao}, {nome}!"
print(saudacao("Ana")) # Olá, Ana!
print(saudacao("Pedro", "Oi")) # Oi, Pedro!
Escopo de variáveis
x = 10 # variável global
def funcao():
x = 20 # variável local
print(f"Dentro: {x}")
funcao() # Dentro: 20
print(f"Fora: {x}") # Fora: 10
Importando módulos
import math
import random
from datetime import datetime
print(math.sqrt(16)) # 4.0
print(random.randint(1, 10)) # Número aleatório entre 1 e 10
print(datetime.now()) # Data e hora atuais
7. Tratamento de erros e boas práticas
Blocos try/except/finally
try:
numero = int(input("Digite um número: "))
resultado = 10 / numero
print(f"Resultado: {resultado}")
except ValueError:
print("Erro: Digite um número válido!")
except ZeroDivisionError:
print("Erro: Divisão por zero não permitida!")
else:
print("Operação realizada com sucesso!")
finally:
print("Bloco finally sempre executa.")
Comentários e docstrings
# Comentário de uma linha
"""
Docstring multi-linha
Geralmente usada para documentar funções e módulos
"""
def calcular_media(notas):
"""
Calcula a média aritmética de uma lista de notas.
Args:
notas (list): Lista de números (notas)
Returns:
float: Média calculada
"""
return sum(notas) / len(notas) if notas else 0
Dicas de estilo (PEP 8)
- Use 4 espaços para indentação (nunca tabs)
- Limite de 79 caracteres por linha
- Nomes de variáveis em snake_case:
nome_completo - Nomes de classes em PascalCase:
MinhaClasse - Constantes em MAIÚSCULAS:
PI = 3.14159 - Espaços ao redor de operadores:
x = 10 + 5
8. Projeto prático: calculadora simples
def somar(a, b):
return a + b
def subtrair(a, b):
return a - b
def multiplicar(a, b):
return a * b
def dividir(a, b):
if b == 0:
raise ValueError("Divisão por zero não é permitida!")
return a / b
def exibir_menu():
print("\n=== CALCULADORA SIMPLES ===")
print("1. Somar")
print("2. Subtrair")
print("3. Multiplicar")
print("4. Dividir")
print("5. Sair")
def obter_numero(mensagem):
while True:
try:
return float(input(mensagem))
except ValueError:
print("Erro: Digite um número válido!")
def main():
while True:
exibir_menu()
opcao = input("Escolha uma opção (1-5): ")
if opcao == "5":
print("Encerrando calculadora...")
break
if opcao in ("1", "2", "3", "4"):
a = obter_numero("Digite o primeiro número: ")
b = obter_numero("Digite o segundo número: ")
try:
if opcao == "1":
resultado = somar(a, b)
operacao = "+"
elif opcao == "2":
resultado = subtrair(a, b)
operacao = "-"
elif opcao == "3":
resultado = multiplicar(a, b)
operacao = "*"
elif opcao == "4":
resultado = dividir(a, b)
operacao = "/"
print(f"\nResultado: {a} {operacao} {b} = {resultado}")
except ValueError as e:
print(f"Erro: {e}")
else:
print("Opção inválida! Escolha entre 1 e 5.")
if __name__ == "__main__":
main()
Este projeto prático demonstra:
- Funções para cada operação matemática
- Loop principal com menu interativo
- Tratamento de entradas inválidas (try/except)
- Tratamento específico para divisão por zero
- Estrutura modular e organizada
Python é uma linguagem versátil que combina simplicidade com poder. Comece praticando os exemplos deste artigo, experimente modificar o código da calculadora e, em breve, você estará pronto para projetos mais complexos como análise de dados, automação ou desenvolvimento web.
Referências
- Documentação oficial do Python — Tutorial completo em português, cobrindo desde conceitos básicos até avançados
- Python para Iniciantes - Curso em Vídeo — Curso gratuito e didático do professor Gustavo Guanabara
- PEP 8 - Guia de Estilo Python — Documentação oficial sobre boas práticas de codificação em Python
- Real Python Tutorials — Tutoriais práticos em inglês com exemplos do mundo real
- Python.org - Beginner's Guide — Guia oficial para iniciantes com links para recursos de aprendizado
- W3Schools Python Tutorial — Tutorial interativo gratuito com exemplos práticos e exercícios
- Google Python Style Guide — Guia de estilo adicional com boas práticas para projetos maiores