Linguagem Python - Aprendendo com a IA CoPilot
Por Ricardo Costa Val do Rosário
1. Sintaxe e Identação
Em Python, a indentação não é apenas estética, ela define a estrutura dos
blocos de código. Cada bloco (como o corpo de um if
ou de uma função)
precisa estar indentado corretamente.
if True:
print("Indentado corretamente!")
else:
print("Nunca será executado.")
Explicação:No exemplo acima, o corpo do if
é definido pela indentação de quatro espaços.
Se a indentação não for feita corretamente, o Python lançará um erro de sintaxe.
Essa característica incentiva a escrita de códigos mais organizados e legíveis.
2. Tipos de Dados e Variáveis
Python é dinamicamente tipado; você não precisa declarar o tipo explicitamente. Aqui estão alguns tipos básicos e exemplos de variáveis:
# Números (inteiros e ponto flutuante)
idade = 30
altura = 1.75
# String
nome = "Ricardo"
# Booleano
ativo = True
# Lista (sequência ordenada e mutável)
numeros = [1, 2, 3, 4, 5]
# Tupla (sequência ordenada, mas imutável)
coordenadas = (10.0, 20.0)
# Dicionário (estrutura chave-valor)
pessoa = {"nome": "Ricardo", "idade": 30}
# Conjunto (coleção não ordenada e sem duplicatas)
frutas = {"maçã", "banana", "laranja"}
Explicação:Cada tipo de dado atende a uma necessidade específica: listas para coleções que podem mudar, tuplas para dados fixos, dicionários para associações chave-valor e conjuntos para eliminar duplicatas.
3. Operadores
Python oferece operadores aritméticos, comparativos e lógicos para manipulação e comparação de valores.
a = 10
b = 3
# Operadores aritméticos
soma = a + b # 13
subtracao = a - b # 7
multiplicacao = a * b # 30
divisao = a / b # ~3.33
div_inteira = a // b # 3
resto = a % b # 1
potencia = a ** b # 10 elevado à 3 (1000)
# Operadores comparativos
print(a > b) # True
print(a == b) # False
# Operadores lógicos
print(a > 5 and b < 5) # True
print(not(a > 5)) # False
Explicação:Os operadores permitem que você execute cálculos, compare valores e combine condições de forma intuitiva, facilitando a implementação de lógicas complexas no seu programa.
4. Estruturas de Controle de Fluxo
As estruturas de controle de fluxo dirigem o caminho que o seu programa tomará durante a execução.
Condicionais (if, elif, else)
nota = 7
if nota >= 7:
print("Aprovado!")
elif nota >= 5:
print("Recuperação!")
else:
print("Reprovado!")
Explicação:Dependendo do valor de nota
, o programa escolhe qual bloco executar. Essa
estrutura é essencial para implementar lógicas baseadas em condições.
Loop for
for i in range(5):
print(f"Iteração {i}")
Explicação:O for
percorre uma sequência de números (de 0 a 4, neste caso) e executa o bloco
de código para cada valor, sendo útil para iteração em listas, tuplas, dicionários e
outros iteráveis.
Loop while
contador = 0
while contador < 5:
print(f"Contador: {contador}")
contador += 1 # Incrementa o contador para evitar loop infinito
Explicação:O while
repete o bloco de código enquanto a condição for verdadeira. É muito
útil quando você não sabe antecipadamente quantas iterações serão necessárias.
5. Funções
Funções permitem encapsular um conjunto de instruções em um bloco reutilizável.
São definidas com a palavra-chave def
.
def saudacao(nome):
return f"Olá, {nome}!"
mensagem = saudacao("Ricardo")
print(mensagem)
Explicação:No exemplo, a função saudacao
recebe um parâmetro e retorna uma saudação
personalizada. Funções ajudam a modularizar e organizar seu código, facilitando
testes e manutenção.
Também é possível usar funções anônimas (lambdas) para operações simples:
dobro = lambda x: x * 2
print(dobro(5)) # Imprime 10
6. Módulos e Pacotes
Módulos são arquivos que contêm funcionalidades que podem ser reutilizadas em diferentes partes do seu programa. Você pode importá-los sempre que precisar.
import math
# Usando a função sqrt do módulo math para calcular a raiz quadrada de 16
print("Raiz quadrada de 16 é:", math.sqrt(16))
Explicação:No exemplo, importamos o módulo math
e utilizamos sua função sqrt
para computar
a raiz quadrada. Essa modularização possibilita o reaproveitamento de código e a organização
de projetos maiores.