0%
Os fundamentos do Python: sintaxe e conceitos básicos

Sintaxe básica

Os fundamentos para começar a programar

10-15 min

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 (nom e Nom são diferentes)
  • Devem começar com uma letra ou um underscore
  • Podem conter letras, números e underscores
  • Por convenção, usa-se snake_case para 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:

  1. Define uma função para calcular a média
  2. Pergunta ao usuário quantos números ele deseja informar
  3. Coleta esses números
  4. Calcula e exibe a média
  5. 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:

  1. Indentação consistente: use sempre 4 espaços para indentar (sem tabulações).

  2. Nomes descritivos: escolha nomes que expliquem claramente para que servem suas variáveis.

  3. Docstrings: documente suas funções com strings de documentação.

  4. DRY (Don’t Repeat Yourself): evite a repetição usando funções e laços.

  5. KISS (Keep It Simple, Stupid): prefira a simplicidade e a clareza à esperteza.

  6. Uma linha, uma instrução: evite colocar várias instruções na mesma linha.

  7. Tratamento de erros: use try/except para tratar os erros possíveis.

  8. 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:

  1. Escreva um programa que converta uma temperatura de Celsius para Fahrenheit (fórmula: F = C * 9/5 + 32).

  2. Crie um programa que determine se um número informado pelo usuário é par ou ímpar.

  3. Escreva um programa que exiba a tabuada de um número informado pelo usuário.

  4. Crie um programa que faça uma contagem regressiva de 10 a 1 e depois exiba “Décollage !”.

  5. 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

Link copiado!