O curso de Introdução ao Python é projetado para iniciantes que desejam aprender a programar e desenvolver suas habilidades de resolução de problemas. Neste curso, você aprenderá os conceitos básicos da linguagem de programação Python, incluindo sintaxe, estruturas de controle, funções, listas e manipulação de arquivos. Ao final do curso, você será capaz de escrever seus próprios programas Python e estará preparado para avançar para cursos mais avançados.
A sintaxe é uma parte fundamental da programação em Python. Ela define as regras e convenções que devem ser seguidas ao escrever um código em Python. Dominar a sintaxe do Python é essencial para construir programas eficientes e sem erros.
Neste tópico, iremos explorar os principais elementos da sintaxe do Python, incluindo identação, comentários, declaração de variáveis, estruturas de controle, funções e importação de bibliotecas.
Ao contrário de outras linguagens de programação, que utilizam chaves ou palavras-chave especiais para delimitar blocos de código, o Python utiliza a identação (indentação) para definir a estrutura do código. A identação é o espaçamento ou recuo que é aplicado ao início de cada linha de código em um bloco.
Por exemplo, para definir um bloco de código dentro de uma estrutura de controle, como um loop ou condicional, é necessário adicionar uma identação para indicar que aquele bloco faz parte da estrutura.
for i in range(5):
print(i)
Observe que o bloco de código que deve ser executado no
loop for
está indentado em relação à linha
que contém a estrutura for
. A identação é
geralmente feita com quatro espaços ou um tab.
Comentários são trechos de texto que são ignorados pelo interpretador Python, mas que ajudam os programadores a documentar e entender o código. Comentários são muito úteis para adicionar informações relevantes, explicar o funcionamento de um trecho de código ou desabilitar temporariamente uma parte do programa.
Em Python, existem duas maneiras de adicionar comentários:
utilizando o caractere #
para comentários de
linha única, ou utilizando as aspas triplas
"""
para comentários de múltiplas linhas.
# Este é um comentário de linha única
"""
Este é um comentário
de múltiplas linhas
"""
Certifique-se de utilizar comentários de forma adequada para tornar o código mais legível e compreensível.
Variáveis são utilizadas para armazenar valores ou referências a objetos em Python. Ao declarar uma variável em Python, não é necessário especificar o tipo de dado que ela irá armazenar, pois o Python é uma linguagem de tipagem dinâmica.
Para declarar uma variável em Python, basta atribuir um
valor a ela utilizando o operador de atribuição
=
.
nome = "João"
idade = 25
pi = 3.14
Neste exemplo, estamos declarando três variáveis:
nome
, idade
e pi
.
Em Python, as estruturas de controle são utilizadas para controlar o fluxo de execução do programa. As principais estruturas de controle em Python são:
if
: utilizada para executar um bloco de código caso uma
condição seja verdadeira. Pode ser acompanhada pelas
estruturas elif
(abusivo de 'else if') e
else
.
if x > 0:
print("x é positivo")
elif x == 0:
print("x é zero")
else:
print("x é negativo")
for
: utilizado para iterar sobre uma sequência de
elementos, como uma lista ou string.
nomes = ["João", "Maria", "José"]
for nome in nomes:
print(nome)
while
: utilizado para executar um bloco de código enquanto
uma condição for verdadeira.
i = 0
while i < 5:
print(i)
i += 1
Funções são blocos de código que podem ser chamados e executados várias vezes em um programa. Elas são utilizadas para organizar o código, evitar repetição e facilitar a resolução de problemas.
Em Python, uma função é definida utilizando a
palavra-chave def
, seguida pelo nome da
função e parênteses que podem conter argumentos. O corpo
da função é indentado e contém o código que será executado
quando a função for chamada.
def saudacao(nome):
print("Olá, " + nome + "!")
saudacao("Maria")
Neste exemplo, estamos criando uma função chamada
saudacao
que recebe um argumento
nome
e imprime uma mensagem de saudação com o
nome fornecido.
Python possui uma ampla variedade de bibliotecas e módulos que fornecem funcionalidades adicionais para o desenvolvimento de programas. Para utilizar uma biblioteca em Python, é necessário importá-la no início do código.
import math
raiz_quadrada = math.sqrt(16)
print(raiz_quadrada)
Neste exemplo, estamos importando o módulo
math
para calcular a raiz quadrada de um
número utilizando a função sqrt
.
As funções, classes e objetos são conceitos fundamentais na programação orientada a objetos em Python. Eles nos permitem organizar e estruturar nosso código de maneira mais eficiente, facilitando a reutilização, a manutenção e a escala.
Uma função é um bloco de código que pode executar uma tarefa específica. Ela recebe um conjunto de entradas, chamadas de parâmetros, realiza um processamento e retorna um resultado.
Em Python, podemos criar funções utilizando a
palavra-chave def
seguida pelo nome da função
e seus parâmetros, e finalizando com :
. O
bloco de código associado à função é delimitado por
indentação.
Aqui está um exemplo de uma função simples que recebe dois números como entrada e retorna a soma deles:
def soma(a, b):
return a + b
Para chamar essa função e obter o resultado, basta utilizar o nome da função seguido pelos parâmetros desejados entre parênteses:
resultado = soma(2, 3)
print(resultado)
Neste caso, o valor de resultado
será
5
.
Uma classe é uma estrutura de programação que serve como um modelo para criar objetos. Ela define a estrutura e o comportamento de um tipo de objeto, sendo composta por atributos e métodos.
Os atributos são as características do objeto, enquanto os métodos são as ações que o objeto pode executar.
Para criar uma classe em Python, utilizamos a
palavra-chave class
seguida pelo nome da
classe, que geralmente é escrito em letra maiúscula.
Dentro da classe, podemos definir os atributos e os
métodos.
Aqui está um exemplo de uma classe chamada
Pessoa
que possui um atributo
nome
e um método apresentar
:
class Pessoa:
def __init__(self, nome):
self.nome = nome
def apresentar(self):
print(f"Olá, meu nome é {self.nome}.")
O método __init__
é um método especial
utilizado para inicializar os atributos da classe. O
parâmetro self
é uma referência ao próprio
objeto, permitindo o acesso aos atributos e aos métodos
dentro da classe.
Para criar um objeto a partir de uma classe, utilizamos o nome da classe seguido pelos parâmetros desejados entre parênteses, caso haja algum:
pessoa = Pessoa("João")
pessoa.apresentar()
Neste caso, o objeto pessoa
será criado com o
atributo nome
igual a "João" e, ao chamar o
método apresentar
, será exibida a mensagem
"Olá, meu nome é João.".
Nesta seção, vamos explorar as estruturas de dados e os tipos de variáveis mais comuns em Python, bem como os laços de repetição que nos permitem executar tarefas repetidamente.
As estruturas de dados nos permitem organizar e armazenar informações de maneiras específicas. Em Python, temos diversos tipos de estruturas de dados que nos ajudam a lidar com diferentes situações. Alguns exemplos comuns incluem:
Uma lista é uma coleção ordenada de elementos que podem
ser modificados. Em Python, ela é representada por
colchetes []
e pode conter elementos de
diferentes tipos. As listas são mutáveis, o que significa
que podemos adicionar, remover ou modificar elementos
facilmente.
frutas = ["maçã", "banana", "laranja"]
Uma tupla é semelhante a uma lista, mas é imutável, ou
seja, não pode ser modificada após ser criada. Em Python,
uma tupla é representada por parênteses ()
e
pode conter elementos de tipos diferentes.
dados_pessoais = ("João", 25, "São Paulo")
Um conjunto armazena uma coleção não ordenada de elementos
únicos. Em Python, um conjunto é representado por chaves
{}
. Como não é ordenado, a posição dos
elementos não é relevante. Os conjuntos são úteis, por
exemplo, quando precisamos verificar a existência de um
elemento em uma coleção de forma eficiente.
numeros_primos = {2, 3, 5, 7, 11, 13}
Um dicionário é uma estrutura de dados que armazena pares
chave-valor, onde cada chave é única. Em Python, um
dicionário é representado por chaves {}
e os
pares chave-valor são separados por dois pontos
:
. Os dicionários são úteis para armazenar
informações associadas a uma determinada chave.
contatos = {"João": "joao@example.com", "Maria": "maria@example.com"}
Em Python, as variáveis são definidas dinamicamente, o que significa que não precisamos especificar o tipo de uma variável ao declará-la. O tipo de uma variável é determinado automaticamente pelo valor atribuído a ela. Alguns dos tipos de variáveis mais comuns em Python incluem:
Variáveis do tipo inteiro representam números inteiros. Podemos realizar operações matemáticas com essas variáveis, como adição, subtração, multiplicação e divisão.
idade = 30
Variáveis do tipo ponto flutuante representam números reais. Elas são usadas para lidar com valores decimais e também permitem operações matemáticas.
altura = 1.75
Variáveis do tipo string representam sequências de caracteres. Elas são usadas para armazenar texto e podem ser manipuladas de várias maneiras, como concatenação, extração de substrings e substituição.
nome = "Ana"
Variáveis booleanas representam valores lógicos Verdadeiro (True) ou Falso (False). Elas são frequentemente usadas em expressões condicionais para controlar o fluxo do programa.
temperatura_alta = True
Os laços de repetição (ou loops) nos permitem executar um bloco de código várias vezes, de acordo com uma condição específica. Existem dois tipos principais de laços de repetição em Python:
for
O laço for
é usado quando sabemos exatamente
quantas vezes queremos executar um bloco de código.
Podemos iterar sobre uma sequência (como uma lista, uma
tupla, um conjunto ou uma string) ou gerar uma sequência
numérica usando as funções range()
ou
enumerate()
.
for fruta in frutas:
print(fruta)
while
O laço while
é usado quando queremos repetir
um bloco de código até que uma determinada condição seja
falsa. Devemos ter cuidado para evitar que o laço entre em
um estado de "loop infinito", onde a condição nunca se
torne falsa.
contador = 0
while contador < 10:
print(contador)
contador += 1
Com as estruturas de dados, tipos de variáveis e laços de repetição, podemos escrever programas mais dinâmicos e poderosos em Python. Agora que você está familiarizado com esses conceitos, vamos praticar seu uso em exercícios práticos.
Vamos colocar seus conhecimentos em prática
Nesta lição, colocaremos a teoria em prática por meio de atividades práticas. Clique nos itens abaixo para conferir cada exercício e desenvolver habilidades práticas que o ajudarão a ter sucesso na disciplina.
Crie um programa em Python para calcular o valor do Imposto de Renda de uma pessoa com base no salário informado. O programa deve solicitar o valor do salário e, então, calcular o imposto de acordo com as seguintes faixas de renda: - Até R$ 1.903,98: isento de imposto; - De R$ 1.903,99 até R$ 2.826,65: alíquota de 7,5%; - De R$ 2.826,66 até R$ 3.751,05: alíquota de 15%; - De R$ 3.751,06 até R$ 4.664,68: alíquota de 22,5%; - Acima de R$ 4.664,68: alíquota de 27,5%. O programa deve exibir o valor do imposto a ser pago de acordo com o salário informado.
Crie um programa em Python que receba uma frase como entrada do usuário e conte quantas vezes cada letra aparece nessa frase. O programa deve ignorar letras maiúsculas e minúsculas, ou seja, as letras 'A' e 'a' devem ser consideradas a mesma letra. Ao final, o programa deve exibir o total de ocorrências de cada letra.
Crie um programa em Python para gerenciar o cadastro de clientes de uma empresa. O programa deve permitir as seguintes funcionalidades: 1. Cadastrar um novo cliente (nome e e-mail); 2. Listar todos os clientes cadastrados; 3. Pesquisar um cliente pelo nome; 4. Remover um cliente pelo nome. Utilize classes e objetos para implementar essa funcionalidade.
Explore estes artigos para obter uma compreensão mais profunda do material do curso
Esses artigos selecionados fornecem informações e conhecimentos valiosos para aprimorar sua experiência de aprendizado.
Vamos revisar o que acabamos de ver até agora
Parabéns por concluir este curso! Você deu um passo importante para liberar todo o seu potencial. Concluir este curso não é apenas adquirir conhecimento; trata-se de colocar esse conhecimento em prática e causar um impacto positivo no mundo ao seu redor.