Sintaxe básica
Os fundamentos para começar a programar
Os fundamentos do Python: sintaxe e conceitos básicos
Depois de instalar o Python, é hora de se familiarizar com a sintaxe e os conceitos fundamentais da linguagem. Este tutorial vai guiá-lo pelos fundamentos essenciais do Python: variáveis, tipos de dados, operadores e estruturas de controle de fluxo.
O Python é conhecido por sua sintaxe clara e legível, que prioriza a simplicidade e a consistência. Essa é uma das razões que fazem dele uma excelente primeira linguagem de programação.
A sintaxe do Python
A primeira coisa a entender no Python é a sua sintaxe particular.
Indentação e blocos de código
Diferentemente de muitas linguagens que usam chaves {} para delimitar blocos de código, o Python usa a indentação (geralmente 4 espaços):
# Exemplo de indentação em Python
if condition:
# Este bloco está indentado com 4 espaços
instruction1
instruction2
if autre_condition:
# Bloco aninhado - 8 espaços
instruction3
# Volta ao nível principal - sem indentação
instruction_suivante
Essa abordagem torna o código naturalmente mais legível, mas significa que os espaços são importantes em Python!
Comentários
Os comentários permitem adicionar notas explicativas ao código:
# Este é um comentário de uma linha
"""
Este é um comentário
de várias linhas (docstring)
"""
Variáveis e tipos de dados
Em Python, você não precisa declarar o tipo de uma variável antes de usá-la. O tipo é determinado automaticamente na atribuição.
Atribuição de variáveis
# Atribuição simples
nom = "Alice"
age = 30
# Atribuições múltiplas
x, y, z = 1, 2, 3
# Atribuição do mesmo valor a várias variáveis
a = b = c = 0
Convenções de nomenclatura
- Os nomes de variáveis diferenciam maiúsculas de minúsculas (
nomeNomsão diferentes) - Devem começar com uma letra ou um underscore
- Podem conter letras, números e underscores
- Por convenção, usa-se
snake_casepara variáveis em Python
# Boa nomenclatura
user_name = "Alice"
age_utilisateur = 30
_variable_privee = "secret"
# Nomenclatura ruim (a evitar)
UserName = "Alice" # Estilo CamelCase (reservado para classes)
1variable = 10 # Começa com um número (erro de sintaxe)
nom-utilisateur = "Bob" # Contém um hífen (erro de sintaxe)
Tipos de dados básicos
O Python possui vários tipos de dados embutidos:
1. Números
# Inteiros (int)
age = 30
code_postal = 75000
# Números de ponto flutuante (float)
prix = 19.99
pi = 3.14159
# Números complexos
complexe = 3 + 4j
2. Strings (str)
# Strings simples
prenom = "Marie"
nom = 'Dupont'
# Strings de várias linhas
description = """Ceci est une chaîne
qui s'étend sur plusieurs
lignes."""
# Formatação de strings (f-strings - Python 3.6+)
message = f"Bonjour {prenom} {nom}, vous avez {age} ans."
# Métodos úteis de strings
print(prenom.upper()) # MARIE
print(nom.lower()) # dupont
print(" texte ".strip()) # "texte"
print(",".join(["a", "b"])) # "a,b"
print("abc,def".split(",")) # ["abc", "def"]
3. Booleanos (bool)
# Valores booleanos
est_majeur = True
est_inscrit = False
# Expressões condicionais que resultam em booleanos
a = 5
b = 10
print(a < b) # True
print(a == b) # False
print(a >= 5) # True
4. Valor None
None é o equivalente de null em outras linguagens e representa a ausência de valor:
resultat = None
# Verificar se uma variável é None
if resultat is None:
print("Aucun résultat disponible")
Verificação de tipos
Para saber o tipo de uma variável, use a função type():
x = 10
print(type(x)) # <class 'int'>
y = "bonjour"
print(type(y)) # <class 'str'>
Conversão de tipos (type casting)
# Conversão para inteiro
age_str = "30"
age = int(age_str) # 30 (inteiro)
# Conversão para string
nombre = 42
nombre_str = str(nombre) # "42" (string)
# Conversão para float
prix = float("19.99") # 19.99 (float)
# Conversão para booleano
valeur = bool(0) # False (0, "", [], {}, None são avaliados como False)
Operadores
Operadores aritméticos
a = 10
b = 3
addition = a + b # 13
soustraction = a - b # 7
multiplication = a * b # 30
division = a / b # 3.3333... (sempre retorna um float)
division_entiere = a // b # 3 (divisão inteira)
modulo = a % b # 1 (resto da divisão)
puissance = a ** b # 1000 (a elevado à potência b)
Operadores de comparação
a = 10
b = 5
egal = a == b # False
different = a != b # True
superieur = a > b # True
inferieur = a < b # False
superieur_ou_egal = a >= b # True
inferieur_ou_egal = a <= b # False
Operadores lógicos
x = True
y = False
et = x and y # False (os dois devem ser True)
ou = x or y # True (pelo menos um deve ser True)
non = not x # False (inverte o valor)
Operadores de atribuição
x = 10
x += 5 # x = x + 5 (x agora vale 15)
x -= 3 # x = x - 3 (x agora vale 12)
x *= 2 # x = x * 2 (x agora vale 24)
x /= 4 # x = x / 4 (x agora vale 6.0)
x //= 2 # x = x // 2 (x agora vale 3.0)
x %= 2 # x = x % 2 (x agora vale 1.0)
x **= 3 # x = x ** 3 (x agora vale 1.0)
Operadores de pertencimento
liste = [1, 2, 3, 4, 5]
print(3 in liste) # True (3 está na lista)
print(6 not in liste) # True (6 não está na lista)
Operadores de identidade
a = [1, 2, 3]
b = [1, 2, 3]
c = a
print(a is c) # True (a e c referenciam o mesmo objeto)
print(a is b) # False (a e b são objetos diferentes)
print(a == b) # True (a e b têm o mesmo valor)
Estruturas de controle
As estruturas de controle permitem direcionar o fluxo de execução do seu programa.
Estruturas condicionais (if, elif, else)
age = 18
if age < 18:
print("Mineur")
elif age == 18:
print("Tout juste majeur")
else:
print("Majeur")
Expressão condicional (operador ternário)
# estrutura: valor_se_verdadeiro if condição else valor_se_falso
statut = "majeur" if age >= 18 else "mineur"
Laços
Laço for
O laço for em Python é um laço “para cada” que itera sobre uma sequência:
# Iteração sobre uma lista
fruits = ["pomme", "banane", "cerise"]
for fruit in fruits:
print(fruit)
# Iteração sobre um intervalo de números
for i in range(5): # 0, 1, 2, 3, 4
print(i)
# range com início e fim
for i in range(2, 6): # 2, 3, 4, 5
print(i)
# range com passo
for i in range(0, 10, 2): # 0, 2, 4, 6, 8
print(i)
# Enumeração (índice e valor)
for index, fruit in enumerate(fruits):
print(f"Index {index}: {fruit}")
Laço while
O laço while continua enquanto a condição for verdadeira:
compteur = 0
while compteur < 5:
print(compteur)
compteur += 1
Controle de laços
# break - sai do laço
for i in range(10):
if i == 5:
break # Sair do laço quando i chegar a 5
print(i) # Exibe 0, 1, 2, 3, 4
# continue - passa para a próxima iteração
for i in range(10):
if i % 2 == 0:
continue # Pular os números pares
print(i) # Exibe 1, 3, 5, 7, 9
# else em laços - executado se o laço terminar normalmente (sem break)
for i in range(5):
print(i)
else:
print("Boucle terminée sans break")
Entrada e saída básicas
Exibição (saída padrão)
# Exibição simples
print("Bonjour, monde!")
# Exibição com variáveis
nom = "Alice"
print("Bonjour,", nom)
# Formatação com f-strings (Python 3.6+)
age = 30
print(f"{nom} a {age} ans.")
# Vários argumentos
print("Nom:", nom, "Age:", age)
# Controle do separador e do fim de linha
print("a", "b", "c", sep="-", end="!\n") # Exibe "a-b-c!"
Leitura de entrada do usuário
# Ler uma entrada do usuário (sempre retorna uma string)
nom = input("Entrez votre nom: ")
print(f"Bonjour, {nom}!")
# Converter a entrada em número
age_str = input("Entrez votre âge: ")
age = int(age_str) # Conversão para inteiro
Exemplo completo
Aqui está um exemplo que usa vários conceitos que aprendemos:
# Programa que calcula a média de uma lista de números
def calculer_moyenne(nombres):
"""Calcule la moyenne d'une liste de nombres."""
if not nombres: # Se a lista estiver vazia
return 0
return sum(nombres) / len(nombres)
# Pedir a quantidade de valores
try:
n = int(input("Combien de nombres voulez-vous entrer? "))
# Coletar os números
nombres = []
for i in range(n):
valeur = float(input(f"Entrez le nombre {i+1}: "))
nombres.append(valeur)
# Calcular e exibir a média
moyenne = calculer_moyenne(nombres)
print(f"La moyenne des nombres entrés est: {moyenne:.2f}")
# Exibir se cada número é maior ou menor que a média
print("\nComparaison avec la moyenne:")
for i, nombre in enumerate(nombres):
if nombre > moyenne:
relation = "supérieur à"
elif nombre < moyenne:
relation = "inférieur à"
else:
relation = "égal à"
print(f"Nombre {i+1} ({nombre}) est {relation} la moyenne.")
except ValueError:
print("Erreur: Veuillez entrer un nombre valide.")
Este programa:
- Define uma função para calcular a média
- Pergunta ao usuário quantos números ele deseja informar
- Coleta esses números
- Calcula e exibe a média
- Compara cada número com a média
Boas práticas e dicas
Para escrever código Python limpo e legível, siga estas diretrizes:
-
Indentação consistente: use sempre 4 espaços para indentar (sem tabulações).
-
Nomes descritivos: escolha nomes que expliquem claramente para que servem suas variáveis.
-
Docstrings: documente suas funções com strings de documentação.
-
DRY (Don’t Repeat Yourself): evite a repetição usando funções e laços.
-
KISS (Keep It Simple, Stupid): prefira a simplicidade e a clareza à esperteza.
-
Uma linha, uma instrução: evite colocar várias instruções na mesma linha.
-
Tratamento de erros: use try/except para tratar os erros possíveis.
-
PEP 8: siga as convenções de estilo do Python (PEP 8) para manter a consistência.
Exercícios práticos
Para consolidar seus conhecimentos, tente estes exercícios:
-
Escreva um programa que converta uma temperatura de Celsius para Fahrenheit (fórmula: F = C * 9/5 + 32).
-
Crie um programa que determine se um número informado pelo usuário é par ou ímpar.
-
Escreva um programa que exiba a tabuada de um número informado pelo usuário.
-
Crie um programa que faça uma contagem regressiva de 10 a 1 e depois exiba “Décollage !”.
-
Escreva um programa que pergunte a idade do usuário e exiba uma mensagem diferente de acordo com a faixa etária.
Conclusão
Neste tutorial, abordamos os fundamentos do Python:
- A sintaxe e a indentação
- As variáveis e os tipos de dados
- Os operadores (aritméticos, de comparação, lógicos)
- As estruturas de controle (if/elif/else, for, while)
- A entrada e saída básicas
Esses conceitos são a base sobre a qual você construirá sua compreensão do Python. À medida que progredir, você descobrirá como esses elementos se combinam para criar programas mais complexos e poderosos.
No próximo tutorial, vamos explorar as estruturas de dados em Python: listas, tuplas, dicionários e conjuntos, que permitirão organizar e manipular seus dados com eficiência.
Precisa revisar a instalação do Python? Consulte nosso guia de instalação.
Comentários
Os comentários são alimentados pelo GitHub Discussions
Conecte-se com o GitHub para participar da discussão