0% acharam este documento útil (0 voto)
69 visualizações53 páginas

Apostila Completa Python ID 590

Enviado por

David Lindgren
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
69 visualizações53 páginas

Apostila Completa Python ID 590

Enviado por

David Lindgren
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 53

Python

Nome:

Sobre o curso
Este curso oferece uma introdução abrangente e prática à
linguagem de programação Python, especialmente projetado para
iniciantes. Durante a jornada de aprendizado, você construirá uma Quantidade de Aulas
base sólida em Python, abordando conceitos essenciais de forma  16 aulas
acessível e envolvente.
Carga horária
 24 horas
Programas Utilizados
 Python Versão 3.11.4 e
Pycharm-community

O que aprender com este curso?


Ao longo deste curso, você desenvolverá habilidades
fundamentais que o capacitarão a criar programas simples, resolver
problemas de maneira eficaz e dar início à sua emocionante jornada
na programação. Com exemplos interativos e exercícios práticos, este
curso não apenas fornecerá conhecimento, mas também a confiança
necessária para explorar projetos mais complexos e enfrentar
desafios futuros com segurança. Venha conosco nesta emocionante
jornada de aprendizado em Python!

1 de 53
Sumário

1 - Iniciando no Python 10 - Objetos


1.1 - Python 10.1 - Objetos
1.2 - Um pouco de história 10.2 - Conceito de objetos
1.3 - IDE 10.3 - Exemplo de Objetos
1.4 - PyCharm 10.4 - Exercícios opcionais
1.5 - Exercícios opcionais 11 - Dicionários
2 - Primeiros passo com Python 11.1 - Dicionários
2.1 - Hello, world! 11.2 - Características de um dicionário
2.2 - Variáveis e dados 11.3 - Criação de dicionários
2.3 - Exercícios opcionais 11.4 - Exercícios opcionais
3 - If, else e elif 12 - Arquivos
3.1 - Estrutura condicional 12.1 - Arquivos
3.2 - If, else e elif 12.2 - Manipulação de Arquivos
3.3 - Exercícios opcionais 12.3 - Trabalhando com arquivos
4 - Loops 12.4 - Exercícios opcionais
4.1 - O que são "loops"? 13 - Bibliotecas externas
4.2 - "Loop" "while" 13.1 - O que são Bibliotecas Externas?
4.3 - "Loop" "for" 13.2 - Por que usar Bibliotecas Externas?
4.4 - Exercícios opcionais 13.3 - Como instalar Bibliotecas Externas
5 - Listas 13.4 - Principais Bibliotecas Externas em Python
5.1 - Listas 13.5 - Exercícios opcionais
5.2 - Exercícios opcionais 14 - Data e hora
6 - Strings 14.1 - O que é Data e Hora?
6.1 - Strings 14.2 - O módulo "datetime" em Python
6.2 - Operações com Strings 14.3 - Manipulação de Data e Hora
6.3 - Utilidade das strings 14.4 - Exercícios opcionais
6.4 - Exercícios opcionais 15 - Expressões regulares
7 - Funções 15.1 - O que são Expressões Regulares?
7.1 - Funções 15.2 - Aplicações das Expressões Regulares
7.2 - Tipos de funções 15.3 - Sintaxe básica das Expressões Regulares
7.3 - Exercícios opcionais 15.4 - Utilizando Expressões Regulares em
8 - Lidando com erros Python
8.1 - Erros em Python 15.5 - Exercício opcionais
8.2 - Tipos de erros 16 - Projeto final
8.3 - Exercícios opcionais 16.1 - Guia do Projeto Final
9 - Modulos e pacotes 16.2 - Parte 1 - Registro de despesas e Receitas
9.1 - Módulos 16.3 - Parte 2 - Cálculo do Saldo e Categorias
9.2 - Características dos módulos 16.4 - Parte 3 - Geração de Relatórios
9.3 - Utilização de módulos 16.5 - Parte 4 - Finalização do Projeto
9.4 - Tipos de módulos 16.6 - Exercício opcional
9.5 - Pacotes
9.6 - Hierarquia dos Pacotes
9.7 - Acessando Pacotes
9.8 - Exercícios opcionais

2 de 53
Python Aula
1. Iniciando no Python 1
1.1. Python 1.2. Um pouco de história

ython é uma linguagem de programação de A história do Python começa no final dos


P alto nível, interpretada e versátil que se anos 80, quando Guido van Rossum, um
destaca pela sua simplicidade e legibilidade. programador holandês, começou a trabalhar em
Criada por Guido van Rossum nos anos 90, uma nova linguagem de programação como um
Python foi projetada para ser fácil de aprender e hobby durante o Natal de 1989. Ele deu ao
utilizar, tornando-se uma das linguagens mais projeto o nome de "Python" em homenagem ao
populares entre programadores de diferentes programa de televisão britânico "Monty Python's
níveis de habilidade. Com uma sintaxe clara e Flying Circus".
concisa, Python é conhecida por sua abordagem
orientada a objetos e sua ampla biblioteca
padrão, que oferece uma vasta gama de
funcionalidades prontas para uso. Essa linguagem
suporta múltiplos paradigmas de programação,
como programação procedural, funcional e
orientada a objetos, permitindo que os
desenvolvedores a utilizem em diversas
aplicações, desde a criação de scripts simples até
o desenvolvimento de aplicativos web, ciência de
dados, automação de tarefas e muito mais.
Python é amplamente valorizado por sua
legibilidade e facilidade de manutenção,
tornando-se uma escolha popular para iniciantes
e profissionais em todo o mundo. A primeira versão pública do Python, a 0.9.0,
foi lançada em fevereiro de 1991. Desde o início,
Guido enfatizou a legibilidade e a simplicidade da
linguagem, o que a tornava ideal para iniciantes.
Em 2000, foi lançada a versão 2.0, que trouxe
melhorias significativas, consolidando ainda mais
a popularidade da linguagem.

Ao longo dos anos, Python se desenvolveu e


cresceu, ganhando destaque em diversos campos,
como desenvolvimento web, ciência de dados,
automação, inteligência artificial e muito mais. A
comunidade Python se expandiu rapidamente, e a
linguagem tornou-se uma das mais populares no
mundo da programação.

Uma grande mudança ocorreu em 2008,


quando o Python 3 foi lançado, trazendo
melhorias significativas, mas também quebrando

3 de 53
a compatibilidade com versões anteriores, o que automática. Além disso, ela inclui um compilador
gerou um período de transição para a adoção da ou interpretador que traduz o código-fonte em
nova versão. um formato executável ou interpreta o código em
tempo real.
Com sua filosofia "The Zen of Python" e uma
comunidade ativa, Python continuou a evoluir e a Existem várias IDEs disponíveis para
ganhar mais adeptos, tornando-se uma das diferentes linguagens de programação, como
principais escolhas para projetos e aplicações em PyCharm para Python, Visual Studio para C#,
diversos setores, graças à sua facilidade de uso, Eclipse para Java, entre muitas outras. Essas
legibilidade e versatilidade. Atualmente, Python ferramentas proporcionam um ambiente de
continua a ser uma das linguagens de trabalho completo e eficiente para os
programação mais influentes e populares do desenvolvedores, aumentando a produtividade e
mundo. facilitando o desenvolvimento de software.

e :
uriosidad
Momento c
O logotipo do Python é conhecido
como "Python logo" ou "Pythonic logo" e
retrata uma cobra enrolada em torno de
um "P". A escolha da cobra como símbolo
do Python foi feita para representar a
flexibilidade, poder e elegância da
linguagem. Curiosamente, ao longo dos
anos, surgiram várias versões e
interpretações do logotipo Python,
incluindo variações com diferentes
estilos de cobra, cores e até mesmo 1.4. PyCharm
adaptações criativas. Esse elemento
visual contribui para a identidade única e O PyCharm é uma IDE (Integrated
reconhecível da linguagem Python. Development Environment) desenvolvida pela
JetBrains e voltada especificamente para
programação em Python. Ele oferece uma ampla
gama de recursos e ferramentas para facilitar o
desenvolvimento de projetos Python.

1.3. IDE

IDE (Integrated Development Environment)


é um ambiente de desenvolvimento integrado
que oferece uma série de ferramentas e recursos
para auxiliar os desenvolvedores na criação,
edição, depuração e gerenciamento de software.

Uma IDE geralmente é composta por um


editor de código, que permite escrever e editar
programas, fornecendo recursos como realce de
sintaxe, sugestões de código e formatação

4 de 53
O PyCharm possui um editor de código
poderoso, com recursos como realce de sintaxe,
autocompletar, refatoração de código e
formatação automática. Ele oferece suporte a
diferentes versões do Python e possui integração
com virtualenv e Anaconda, permitindo criar e
gerenciar ambientes virtuais para isolar projetos
e suas dependências.

Exercício 2 - Formatação de saída

1. Crie um novo arquivo em Python.


2. Na primeira linha do código, digite o
seguinte: nome = "Alice" e pressione
"Enter" para continuar.
Em resumo, o PyCharm é uma poderosa IDE 3. Na segunda linha do código digite o
Python que oferece um conjunto abrangente de seguinte: idade = 25 e pressione "Enter"
recursos para facilitar o desenvolvimento de para continuar.
software em Python, desde a edição de código 4. Na terceira linha do código, digite o
até a depuração e o gerenciamento de projetos. seguinte: altura = 1.68 e pressione "Enter"
para continuar.
5. Na quarta linha do código, digite o
seguinte: print("Olá, meu nome é", nome,
"e tenho", idade, "anos.") e pressione
"Enter" para continuar.
1.5. Exercícios opcionais 6. Na quinta linha do código, digite o
seguinte: print(f"Eu tenho {idade} anos e
Exercício 1 - Imprimindo mensagens minha altura é {altura:.2f} metros.") e
pressione "Enter" para continuar.
1. Crie um novo arquivo em Python.
7. Execute o código, as mensagens devem ser
2. Na primeira linha do código, digite o
impressas no console já formatadas.
seguinte: print("Bem-vindos à aula de
8. Confira o resultado abaixo.
Python!")
3. Na segunda linha do código, digite o
seguinte: print("Neste curso, você
aprenderá os conceitos básicos de
Python.")
4. Execute o código, as mensagens devem ser
impressas no console.
5. Confira o resultado abaixo.

5 de 53
Python Aula
2. Primeiros passo com Python 2
2.1. Hello, world! linguagem ou ambiente de programação se
espalhou amplamente. Programadores em todo o
frase "Hello, world!" é uma das mais mundo adotaram essa prática como uma maneira
A famosas e icônicas no mundo da simples de verificar se a configuração do
programação. Ela tem sido tradicionalmente ambiente de desenvolvimento está correta e de
usada como um exemplo básico de código para começar a explorar os conceitos fundamentais da
ilustrar o funcionamento de uma nova linguagem linguagem.
de programação ou ambiente de
desenvolvimento.

uriosida de:
Momento c
Python é uma linguagem conhecida
por sua legibilidade e ênfase na escrita
de um código limpo e legível. Essa
filosofia é refletida no documento
chamado "The Zen of Python" (O Zen do
Python), que é uma coleção de princípios
A origem do "Hello, world!" remonta ao orientadores para escrever código
início dos anos 1970, quando o livro "The C Python de forma clara e eficiente. Uma
Programming Language", escrito por Brian curiosidade interessante é que você
Kernighan e Dennis Ritchie, foi publicado. O livro, pode visualizar o "The Zen of Python"
conhecido como "K&R C", foi um marco diretamente no interpretador Python.
importante na popularização da linguagem C. Basta digitar o comando "import this" no
interpretador para exibir esses
princípios na tela.

2.2. Variáveis e dados

Em Python, as variáveis são espaços de


Dentro do livro, um exemplo de programa
memória reservados para armazenar dados. Elas
em C foi apresentado com a simples mensagem
servem para atribuir um nome a um valor
"hello, world" sendo exibida na tela. Esse
específico, permitindo que você se refira a esse
programa básico serviu para demonstrar como
valor posteriormente no programa.
escrever um programa simples em C e mostrar a
sintaxe básica da linguagem. Ao usar uma variável em Python, você pode
armazenar diferentes tipos de dados, como
Desde então, a tradição de usar "Hello,
números, strings, listas, dicionários e outros
world!" como o primeiro programa em uma nova

6 de 53
objetos. As variáveis são flexíveis e não possuem 3. Strings (str): Variáveis do tipo string são
um tipo fixo, ou seja, podem ser retribuídas para usadas para armazenar sequências de caracteres,
armazenar diferentes tipos de dados ao longo do como "Olá", "Python", "123", etc
programa.

python
nome = "Maria"
nome = "Maria"
idade = 25
altura = 1.65
4. Booleanos (bool): Variáveis do tipo
booleano podem ter apenas dois valores: True
(verdadeiro) ou False (falso). Elas são
Nesse exemplo, criamos três variáveis:
frequentemente usadas para expressar
nome, idade e altura. A variável nome armazena
condições lógicas.
uma string, a variável idade armazena um número
inteiro e a variável altura armazena um número
de ponto flutuante. python

Os dados armazenados em variáveis podem temperatura_alta = True


ser utilizados em expressões e operações dentro
do programa. Você pode fazer cálculos,
concatenar strings, acessar elementos de uma 5. Listas (list): Variáveis do tipo lista são
lista, entre outras operações utilizando as usadas para armazenar uma coleção ordenada de
variáveis que contêm os dados necessários. elementos. Os elementos podem ser de
diferentes tipos e podem ser acessados por meio
de índices.

python
Tipos de variáveis no Python
numeros = [1, 2, 3, 4, 5]
1. Números inteiros (int): Variáveis do tipo
inteiro são usadas para armazenar números
inteiros, como 1, 10, -5, etc. 6. Tuplas (tuple): Variáveis do tipo tupla são
semelhantes às listas, mas são imutáveis, ou seja,
python não podem ser modificadas depois de criadas.

idade = 25
python

coordenadas = (10, 20)


2. Números de ponto flutuante (float):
Variáveis do tipo float são usadas para armazenar
números com casas decimais, como 3.14, 2.5,
-0.75, etc.
7. Dicionários (dict): Variáveis do tipo
python dicionário são usadas para armazenar pares de
chave-valor, permitindo que você acesse os
altura = 1.65 valores por meio de suas chaves.

7 de 53
python

pessoa = {"nome": "João", "idade": 30}

Esses são apenas alguns exemplos dos tipos


de variáveis mais comuns em Python. A
linguagem Python é conhecida por sua
flexibilidade em lidar com diferentes tipos de
dados e permite que você crie seus próprios tipos
de variáveis personalizados, caso necessário.

Exercício 2 - Realizando cálculo com


variáveis

1. Crie um novo arquivo em Python.


2.3. Exercícios opcionais 2. Na primeira linha do código, digite o
seguinte: numero1 = 10 e pressione
Exercício 1 - Armazenando e exibindo "Enter" para continuar.
informações 3. Na segunda linha do código, digite o
seguinte: numero2 = 5 e pressione "Enter"
1. Crie um novo arquivo em Python. para continuar.
2. Na primeira linha do código, digite o 4. Na terceira linha do código, digite o
seguinte: nome = "João" e pressione seguinte: soma = numero1 + numero2 e
"Enter" para continuar. pressione "Enter" para continuar.
3. Na segunda linha do código, digite o 5. Na quarta linha do código, digite o
seguinte: idade = 30 e pressione "Enter" seguinte: subtracao = numero1 - numero2
para continuar. e pressione "Enter" para continuar.
4. Na terceira linha do código, digite o 6. Na quinta linha do código, digite o
seguinte: altura = 1.75 e pressione "Enter" seguinte: print("Soma:", soma) e pressione
para continuar. "Enter" para continuar.
5. Na quarta linha do código, digite o 7. Na sexta linha do código, digite o seguinte:
seguinte: print("Nome:", nome) e print("Subtração:", subtracao) e pressione
pressione "Enter" para continuar. "Enter" para continuar.
6. Na quinta linha do código, digite o 8. Execute o código, os valores calculados
seguinte: print("Idade:", idade, "anos") e devem aparecer no console.
pressione "Enter" para continuar. 9. Confira o resultado abaixo.
7. Na sexta linha do código, digite o
seguinte: print("Altura:", altura, "metros")
e pressione "Enter" para continuar.
8. Execute o código, as informações
armazenadas devem aparecer no console.
9. Confira o resultado abaixo.

8 de 53
Python Aula
3. If, else e elif 3
3.1. Estrutura condicional If

A estrutura "if" permite que você execute


estrutura condicional é uma construção
A fundamental em programação que permite
um bloco de código se uma condição for avaliada
como verdadeira (True). Se a condição fornecida
ao programador controlar o fluxo do programa
após o "if" for verdadeira, o bloco de código
com base em condições lógicas. Ela permite que
indentado abaixo do "if" será executado. Caso
diferentes blocos de código sejam executados ou
contrário, o bloco de código será ignorado.
ignorados dependendo do resultado da avaliação
dessas condições.
python
Em Python, a estrutura condicional é
geralmente implementada usando as palavras- idade = 18
chave "if", "else" e "elif". A sintaxe básica da if idade >= 18:
print("Você é maior de idade!")
estrutura condicional em Python é a seguinte:

python Nesse exemplo, o bloco de código dentro do


"if" será executado porque a condição idade >=
if condição:
# bloco de código a ser executado se a 18 é verdadeira.
condição for verdadeira
else:
# bloco de código a ser executado se a
condição for falsa

Else
A condição é uma expressão lógica que é
avaliada como verdadeira (True) ou falsa (False). A estrutura "else" é usada em conjunto com
Se a condição for verdadeira, o bloco de código o "if" e permite que você execute um bloco de
indentado abaixo do "if" será executado. Caso código alternativo caso a condição do "if" seja
contrário, o bloco de código abaixo do "else" será avaliada como falsa (False). O "else" não possui
executado. uma condição separada, pois é o caminho
alternativo quando a condição do "if" não é
verdadeira.

python
3.2. If, else e elif idade = 16
if idade >= 18:
Em Python, "if", "else" e "elif" são palavras- print("Você é maior de idade!")
else:
chave usadas para controlar o fluxo do programa print("Você é menor de idade.")
com base em condições lógicas. Essas estruturas
condicionais permitem que o programa tome
decisões e execute diferentes blocos de código
com base nos resultados dessas condições.

9 de 53
1. Crie um novo arquivo em Python.
Nesse exemplo, se a condição idade >= 18 2. Na primeira linha do código, digite o
for falsa, o bloco de código após o "else" será seguinte: "idade = int(input("Digite sua
executado. idade: "))" e pressione "Enter" para
continuar.
3. Na segunda linha do código, digite o
seguinte: "if idade >= 18:" e pressione
"Enter" para continuar.
4. Na terceira linha do código, digite o
Elif
seguinte: "print("Você pode entrar no
A palavra-chave "elif" é usada para adicionar evento!")" e pressione "Enter" para
mais condições às estruturas condicionais. Ela continuar.
permite que você verifique múltiplas condições 5. Na quarta linha do código, digite o
sequencialmente. Se a condição do "if" for falsa, o seguinte: "else:" e pressione "Enter" para
"elif" verificará a próxima condição e, se for continuar.
verdadeira, executará o bloco de código 6. Na quinta linha do código, digite o
associado a essa condição. seguinte: "print("Desculpe, você não tem
idade suficiente para entrar no evento.")".
7. Execute o código e informe as duas
python situações, uma idade acima de 18 e outra
abaixo de 18 para verificar se o código
idade = 20
funciona.
if idade < 18:
print("Você é menor de idade.") 8. Confira o resultado abaixo.
elif idade >= 18 and idade < 21:
print("Você é maior de idade, mas ainda
não pode beber nos Estados Unidos.")
else:
print("Você é maior de idade e pode
beber nos Estados Unidos.")

Nesse exemplo, o programa verifica


diferentes faixas etárias e exibe uma mensagem
de acordo com a idade fornecida.

Essas estruturas condicionais ("if", "else" e


"elif") são fundamentais para controlar o fluxo do
programa com base em condições lógicas e
permitem que você tome decisões e execute
diferentes blocos de código de acordo com essas Exercício 2 - Classificação de notas
condições escolares

1. Crie um novo arquivo em Python.


2. Na primeira linha do código, digite o
seguinte: "nota = float(input("Digite a
nota: "))" e pressione "Enter" para
3.3. Exercícios opcionais continuar.
3. Na segunda linha do código, digite o
Exercício 1 - Verificando idade para entrada seguinte: "if nota >= 9:" e pressione
em um evento "Enter" para continuar.
4. Na terceira linha do código, digite o

10 de 53
seguinte: "print("Nota: A")" e pressione
"Enter" para continuar.
5. Na quarta linha do código, digite o
seguinte: "elif nota >= 7:" e pressione
"Enter" para continuar.
6. Na quinta linha do código, digite o
seguinte: "print("Nota: B")" e pressione
"Enter" para continuar.
7. Na sexta linha do código, digite o seguinte:
"elif nota >= 5:" e pressione "Enter" para
continuar.
8. Na sétima linha do código, digite o
seguinte: "print("Nota: C")" e pressione
"Enter" para continuar.
9. Na oitava linha do código, digite o
seguinte: "else:" e pressione "Enter" para
continuar.
10. Na nona linha do código, digite o seguinte:
"print("Nota: F")" e pressione "Enter" para
continuar.
11. Execute o código e teste todas as opções
para verificar se tudo está funcionando.
12. Confira o resultado abaixo.

anotações

11 de 53
Python Aula
4. Loops 4
4.1. O que são "loops"?
Exemplo de um "loop" "while":
oops", também conhecidos como
"L estruturas de repetição, são construções python
fundamentais em programação que permitem
que um bloco de código seja executado contador = 0
repetidamente com base em uma condição while contador < 5:
print(contador)
específica. Os "loops" são usados para contador += 1
automatizar a repetição de tarefas e para
processar conjuntos de dados de forma iterativa.

Existem dois tipos principais de "loops" em Nesse exemplo, o bloco de código será
Python: o "loop" "while" e o "loop" "for". executado cinco vezes, pois o contador aumenta
a cada iteração até que a condição contador < 5
seja falsa.

4.2. "Loop" "while"

O "loop" "while" executa um bloco de código 4.3. "Loop" "for"


repetidamente enquanto uma condição
específica for avaliada como verdadeira (True). A O "loop" "for" é usado para iterar sobre uma
estrutura básica de um "loop" "while" é a sequência de elementos, como uma lista, uma
seguinte: string, um dicionário, entre outros. Ele executa
um bloco de código para cada elemento da
sequência. A estrutura básica de um "loop" "for" é
python a seguinte:

while condição:
# bloco de código a ser repetido python
enquanto a condição for verdadeira

for elemento in sequência:


# bloco de código a ser executado para
cada elemento da sequência
O bloco de código dentro do "loop" é
executado repetidamente até que a condição seja
avaliada como falsa (False). É importante garantir
que a condição mude eventualmente, para evitar
"loops" infinitos.

12 de 53
Exemplo de um "loop" "for": 2. Contagem com "loop" "for": Podemos usar
um "loop" "for" para executar um bloco de código
um número específico de vezes. Isso é útil quando
python
queremos repetir uma tarefa um determinado
frutas = ["maçã", "banana", "laranja"] número de vezes. Por exemplo:
for fruta in frutas:
print(fruta)
python

for i in range(5):
Nesse exemplo, o bloco de código será print(i)
executado três vezes, uma vez para cada
elemento da lista "frutas". A variável "fruta"
assume o valor de cada elemento da lista em cada Nesse exemplo, o bloco de código será
iteração do "loop". executado 5 vezes, imprimindo os números de 0 a
4.
Os "loops" permitem automatizar a
execução de tarefas repetitivas e processar 3. "Loop" "while" com condição de parada:
conjuntos de dados de maneira eficiente. Eles são Podemos usar um "loop" "while" para executar
fundamentais para lidar com iterações, um bloco de código enquanto uma condição
processamento de listas, leitura de arquivos, específica for verdadeira. Isso é útil quando
entre muitas outras situações em programação. queremos repetir uma tarefa até que uma
determinada condição seja atendida. Por
exemplo:

python
Como podemos usar os "loops"?
contador = 0
Os "loops" são amplamente utilizados em while contador < 5:
print(contador)
programação para automatizar a execução de
contador += 1
tarefas repetitivas e para processar conjuntos de
dados de maneira eficiente. Aqui estão alguns
exemplos de como podemos usar os "loops" em
Python: Nesse exemplo, o bloco de código será
executado enquanto a variável "contador" for
1. Iterar sobre uma lista: Podemos usar um menor que 5. O valor de "contador" é
"loop" "for" para percorrer todos os elementos de incrementado a cada iteração.
uma lista e executar um bloco de código para
cada elemento. Isso é útil quando queremos 4. "Loop" com controle de interrupção:
realizar uma operação em cada item da lista Podemos usar a palavra-chave "break" para
interromper a execução de um "loop"
antecipadamente, com base em uma determinada
python condição. Isso é útil quando queremos sair de um
"loop" antes de atingir a condição de parada
frutas = ["maçã", "banana", "laranja"]
for fruta in frutas:
normal. Por exemplo:
print(fruta)

13 de 53
python

for i in range(10):
if i == 5:
break
print(i)

Nesse exemplo, o "loop" "for" será


interrompido quando o valor de "i" for igual a 5, e
a execução será encerrada.

Esses são apenas alguns exemplos de como Exercício 2 - Tabuada com "loop" "for"
podemos usar os loops em Python. Os "loops"
fornecem um poderoso mecanismo de controle 1. Crie um novo arquivo em Python.
de fluxo que nos permite automatizar tarefas 2. Na primeira linha do código, digite o
repetitivas e processar dados de forma eficiente, seguinte: "numero = int(input("Digite um
tornando nossos programas mais eficazes e número: "))" e pressione "Enter" para
flexíveis. continuar.
3. Na segunda linha do código, digite o
seguinte: "for i in range (1, 11):" e
pressione "Enter" para continuar.
4. Na terceira linha do código, digite o
seguinte: "resultado = numero * i" e
4.4. Exercícios opcionais pressione "Enter" para continuar.
5. Na quarta linha do código, digite o
Exercício 1 - Contagem regressiva com o seguinte: "print(f"{numero} x {i} =
"loop" "while" {resultado}")" e pressione "Enter" para
continuar.
1. Crie um novo arquivo em Python. 6. Execute o código, o programa deve exibir a
2. Na primeira linha do código, digite o tabuada do número informado.
seguinte: "contador = 10" e pressione 7. Confira o resultado abaixo.
"Enter" para continuar.
3. Na segunda linha do código, digite o
seguinte: "while contador>=0:" e
pressione "Enter" para continuar.
4. Na terceira linha do código, digite o
seguinte: "print(contador)" e pressione
"Enter" para continuar.
5. Na quarta linha do código, digite o
seguinte: "contador -= 1" e pressione
"Enter" para continuar.
6. Execute o código, o programa deve iniciar
uma contagem regressiva de 10 a 0.
7. Confira o resultado abaixo.

14 de 53
Python Aula
5. Listas 5
5.1. Listas Operações com listas

Aqui estão algumas das operações e


m Python, uma lista é uma coleção ordenada
E e mutável de elementos. Ela permite
funcionalidades básicas que você pode realizar
com listas em Python:
armazenar diversos valores em uma única
variável. As listas são uma das estruturas de 1. Acessar elementos da lista por meio de
dados mais versáteis e fundamentais na índices:
linguagem Python e são amplamente utilizadas
para manipular e organizar dados.
python
Segue um exemplo de lista em Python:
minha_lista = [10, 20, 30, 40, 50]
primeiro_elemento = minha_lista[0] #
python Retorna 10
segundo_elemento = minha_lista[1] #
Retorna 20
frutas = ["maçã", "banana", "laranja",
"uva", "manga"]

2. Modificar elementos da lista:


Para criar uma lista em Python, você pode
utilizar colchetes ("[]") e separar os elementos por python
vírgula. Por exemplo:
minha_lista[2] = 35 # Agora a lista será
[10, 20, 35, 40, 50]
python

minha_lista = [1, 2, 3, 4, 5]
3. Adicionar elementos no final da lista:

As listas em Python podem conter diferentes python


tipos de dados, como números inteiros, números
de ponto flutuante, "strings", "booleanos" e até minha_lista.append(60) # Agora a lista será
[10, 20, 35, 40, 50, 60]
outras listas. Por exemplo:

python 4. Inserir elementos em uma posição


específica:
lista_mista = [1, "Python", True, 3.14, [6,
7, 8]]

python

A principal característica das listas é a minha_lista.insert(2, 25) # Agora a lista


será [10, 20, 25, 35, 40, 50, 60]
possibilidade de modificar seus elementos após a
criação. Isso significa que você pode adicionar,
remover ou modificar elementos dentro da lista a
qualquer momento.

15 de 53
5. Remover elementos da lista:
:
de do dia
Curiosida
python
Uma curiosidade interessante sobre
minha_lista.remove(35) # Agora a lista será listas em Python é que elas suportam
[10, 20, 25, 40, 50, 60]
indexação negativa. Isso significa que
você pode acessar os elementos da lista
a partir do final, utilizando índices
6. Verificar a quantidade de elementos na negativos. A indexação negativa facilita a
lista: obtenção dos elementos no final da lista,
tornando o código mais conciso e legível
python em alguns casos. Além disso, essa
característica pode ser muito útil quando
tamanho_da_lista = len(minha_lista) # você trabalha com listas cujo tamanho
Retorna 6 pode variar ou quando precisa acessar os
elementos em ordem inversa, por
exemplo, percorrendo a lista de trás para
7. Verificar se um elemento está presente na frente. A indexação negativa é apenas
lista: mais um recurso que torna as listas em
Python uma estrutura de dados
poderosa e versátil.
python

if 40 in minha_lista:
print("40 está na lista.")

8. Percorrer a lista usando "loops": 5.2. Exercícios opcionais

python Exercício 1 - Remover elementos iguais:

for elemento in minha_lista: 1. Crie uma lista chamada "numeros"


print(elemento) contendo alguns números repetidos.
2. Exiba a lista original para verificar quais
números estão presentes.
As listas em Python são extremamente úteis 3. Crie uma nova lista vazia chamada
para armazenar coleções de dados, como listas de "numeros_sem_repeticao".
tarefas, resultados de uma pesquisa, informações 4. Percorra cada elemento da lista numeros
de clientes, entre outras aplicações. A capacidade usando um "loop for".
de serem modificadas, combinadas com outras 5. Verifique se o elemento atual não está
estruturas de dados e operações torna-as uma presente na lista
escolha poderosa para diversas tarefas de "numeros_sem_repeticao".
programação. 6. Se o elemento não estiver na lista,
adicione-o usando o método "append".
7. Exiba a lista "numeros_sem_repeticao"
para mostrar os números únicos.
8. Confira o resultado abaixo.

16 de 53
Exercício 2 - Concatenar listas:

1. Crie duas listas: "lista1" e "lista2", cada


uma contendo alguns elementos.
2. Exiba as duas listas para verificar os
elementos que elas possuem.
3. Use o operador de adição "+" para
concatenar as duas listas em uma nova
lista chamada "lista_concatenada".
4. Exiba a lista "lista_concatenada" para
mostrar os elementos das duas listas
combinadas em uma única lista.
5. Modifique uma das listas originais,
adicionando ou removendo elementos.
6. Exiba novamente a lista
"lista_concatenada" para confirmar que
ela não foi afetada pelas modificações na
lista original.
7. Confira o resultado abaixo.

anotações

17 de 53
Python Aula
6. Strings 6
6.1. Strings incluem:

1. Concatenação de strings: Você pode


m Python, uma string é uma sequência de
E caracteres que representa texto. Uma string
combinar duas ou mais strings usando o operador
de adição +.
pode conter letras, números, espaços em branco,
pontuação, símbolos e até mesmo caracteres
especiais. As strings são uma das estruturas de python
dados fundamentais em Python e são usadas para
manipular e armazenar informações textuais. nome = "João"
sobrenome = "Silva"
nome_completo = nome + " " + sobrenome #
Segue um exemplo de string em Python: Resultado: "João Silva"

python
2. Indexação de caracteres: É possível
"Python é uma linguagem de programação acessar caracteres individuais de uma string
poderosa."
usando índices.

Para criar uma string em Python, você pode python


usar aspas simples ' ' ou aspas duplas " ". Veja
mensagem = "Python"
alguns exemplos: primeiro_caractere = mensagem[0] #
Resultado: "P"
segundo_caractere = mensagem[1] #
python Resultado: "y"

mensagem1 = 'Olá, mundo!'


mensagem2 = "Python é uma linguagem de
programação poderosa." 3. Fatias de strings (slicing): Você pode
extrair uma parte específica de uma string
usando a notação de fatiamento.
As strings são imutáveis em Python, o que
significa que, depois de criada, não é possível python
alterar seus caracteres individualmente. No
entanto, você pode criar novas strings a partir de mensagem = "Python é ótimo"
operações em strings existentes. parte_da_mensagem = mensagem[7:10] #
Resultado: "é"

4. Funções de manipulação de strings:


Python oferece várias funções embutidas para
6.2. Operações com Strings manipular strings, como len(), upper(), lower(),
strip(), split(), entre outras.
Algumas operações e funcionalidades
comuns relacionadas a strings em Python

18 de 53
de um arquivo ou para escrever
informações em um arquivo de
python
texto.Processamento de arquivos:
texto = " Olá, mundo! " 4. Manipulação de dados em bancos de
tamanho_do_texto = len(texto) # dados: Muitas vezes, os dados
Resultado: 19 armazenados em bancos de dados são
texto_em_maiusculas = texto.upper() #
Resultado: " OLÁ, MUNDO! "
representados em formato de texto, e as
texto_sem_espacos = texto.strip() # strings são usadas para armazenar e
Resultado: "Olá, mundo!" consultar informações de forma eficiente.
palavras = texto.split(",") # 5. Manipulação de URL e dados da web: Ao
Resultado: [' Olá', ' mundo! ']
trabalhar com solicitações da web e URLs,
as strings são usadas para representar
endereços da web, parâmetros de
As strings em Python são amplamente consulta e outras informações
utilizadas em programação para trabalhar com relacionadas à web.
texto, manipular dados, formatar saídas de 6. Formatação de saída: As strings são
informações e muito mais. Sua versatilidade e frequentemente usadas para formatar a
recursos facilitam a escrita de códigos para uma saída em programas, permitindo que os
variedade de aplicações, desde simples scripts resultados sejam apresentados de
até aplicações mais complexas. maneira adequada e legível para os
usuários.
7. Manipulação de linguagem natural: Em
tarefas de processamento de linguagem
natural, as strings são usadas para
representar texto de documentos,
6.3. Utilidade das strings
mensagens, análise de sentimentos,
tradução, entre outras aplicações.
As strings em Python, ou em qualquer outra
8. Criação de mensagens e logs: Strings são
linguagem de programação, têm uma ampla gama
usadas para criar mensagens informativas
de aplicações e são essenciais para trabalhar com
ou de erro para os usuários ou para
texto e informações baseadas em caracteres.
registrar eventos e informações em logs
Algumas das principais utilizações das strings
durante a execução do programa.
incluem:
Em resumo, as strings são fundamentais para
1. Armazenamento e manipulação de texto:
trabalhar com texto e informações baseadas em
As strings são usadas para armazenar e
caracteres em Python e em muitas outras
manipular informações em formato de
linguagens de programação. Elas são amplamente
texto. Elas permitem que os
usadas em praticamente todos os aspectos do
programadores trabalhem com palavras,
desenvolvimento de software, desde aplicações
frases, sentenças e qualquer outra forma
simples até projetos mais complexos. A
de dados baseada em caracteres.
capacidade de manipular e processar strings é
2. Entrada e saída de dados: As strings são
uma das habilidades mais importantes para um
frequentemente usadas para interagir
programador, independentemente da área de
com os usuários, permitindo que eles
atuação.
insiram informações por meio do teclado e
exibindo resultados em formato de texto
na tela.
3. Processamento de arquivos: Ao ler e
escrever arquivos de texto, as strings são
usadas para representar o conteúdo lido

19 de 53
:
de do dia 6.4. Exercícios opcionais
Curiosida
Uma curiosidade interessante sobre Exercício 1 - Contar Vogais:
strings em Python é que você pode criar
strings multilinhas usando três pares de 1. Peça ao usuário para digitar uma frase ou
aspas (simples ou duplas). No entanto, há uma palavra.
situações em que você pode querer criar 2. Crie uma variável chamada vogais e
uma string que abranja várias linhas, atribua uma string contendo todas as
como para escrever um parágrafo longo vogais em minúsculas, por exemplo:
ou um bloco de texto. Nesses casos, você 'aeiou'.
pode usar aspas triplas para criar uma 3. Inicialize uma variável chamada contador
string multilinha sem precisar inserir com o valor zero para contar a quantidade
sequências de escape (\n) para indicar de vogais na frase.
novas linhas. Por exemplo: 4. Percorra cada caractere da frase usando
texto_multilinha = """Esta é uma string um loop for.
que se estende por várias linhas sem a 5. Verifique se o caractere é uma vogal (ou
necessidade de usar \n para quebra de seja, se está presente na string vogais).
linha. Você pode escrever textos mais 6. Se o caractere for uma vogal, incremente o
longos de forma mais legível e valor do contador.
organizada.""" Essa funcionalidade é 7. Exiba o valor do contador, que
especialmente útil quando você deseja representará o número total de vogais na
criar strings com várias linhas de texto, frase.
como para documentação ou para 8. Confira o resultado abaixo.
armazenar informações de texto
formatado em seu código. Vale ressaltar
que, ao usar aspas triplas para criar uma
string multilinha, as quebras de linha
serão mantidas na string, ou seja, a string
manterá a formatação exata que você
escreveu.

20 de 53
Exercício 2 - Palavra Invertida:

1. Peça ao usuário para digitar uma palavra.


2. Use a indexação de strings para inverter a
palavra digitada pelo usuário.
3. Crie uma nova variável chamada
palavra_invertida e atribua a palavra
invertida a essa variável.
4. Exiba a palavra invertida na tela para o
usuário ver o resultado.
5. Confira o resultado abaixo.

anotações

21 de 53
Python Aula
7. Funções 7
7.1. Funções algum valor, você deve declará-los entre
os parênteses. Os parâmetros são usados
m Python, uma função é um bloco de código como variáveis dentro da função para
E nomeado que realiza uma tarefa específica manipular os dados recebidos.
ou executa um conjunto de operações. Ela é uma 3. Corpo da função: O corpo da função é o
maneira de encapsular um conjunto de instruções bloco de código que contém as instruções
para que possam ser reutilizadas facilmente em a serem executadas quando a função é
diferentes partes do programa. As funções são chamada. O corpo da função é definido
um dos conceitos mais fundamentais da pela indentação, ou seja, um recuo de
programação e são usadas para organizar o espaços em relação à margem esquerda do
código, torná-lo mais legível, modular e facilitar a código.
manutenção. 4. Retorno (opcional): A função pode ter uma
instrução return, que é usada para
As funções em Python têm a seguinte retornar um valor da função. Se a função
sintaxe geral: não tiver um return, ela ainda pode ser
usada para executar ações, mas não
retornará explicitamente nenhum valor.
python
Aqui está a estrutura completa de uma
def nome_da_funcao(parametros):
# Corpo da função - conjunto de função em Python:
instruções a serem executadas
# Pode haver um retorno de valor, usando
a palavra-chave 'return', se necessário python

def nome_da_funcao(parametros):
# Corpo da função
# Pode haver uma instrução return, se
necessário

Exemplo de uma função que recebe dois


Estrutura das funções números e retorna a soma deles:
A estrutura de uma função em Python é
composta por alguns elementos essenciais que python
definem a função e sua funcionalidade. A seguir,
apresento a estrutura básica de uma função em def somar(a, b):
return a + b
Python:

1. Definição da função: A definição da função


começa com a palavra-chave def, seguida Nesse exemplo, temos:
pelo nome da função e, opcionalmente, os
parâmetros entre parênteses. nome_da_funcao: somar
2. Parâmetros: São valores que a função parametros: a e b
pode receber como entrada. Eles são corpo da função: return a + b
opcionais, mas, se a função espera receber

22 de 53
Essa função "somar" pode ser usada em 5. Funções para trabalhar com dicionários:
qualquer lugar do código, chamando-a pelo nome keys(), values(), items(), get(), update(),
e passando os valores necessários: pop(), clear(), etc.
6. Funções para interação com o sistema:
print(), input(), open(), write(), read(), os(),
python
sys(), time(), datetime(), etc.
resultado = somar(5, 3) 7. Funções para manipulação de arquivos e
print(resultado) # Saída: 8 diretórios: open(), read(), write(), close(),
os.path(), os.listdir(), os.makedirs(), etc.
8. Funções para tratamento de exceções: try,
A estrutura de uma função é fundamental except, raise, assert, etc.
para a organização e reutilização de código em 9. Funções relacionadas a expressões
Python, tornando o desenvolvimento mais regulares: re.match(), re.search(),
eficiente e legível. re.findall(), re.sub(), etc.
10. Funções para gerar números aleatórios:
random.random(), random.randint(),
random.choice(), etc.

Essas são apenas algumas das muitas


7.2. Tipos de funções funções disponíveis na biblioteca padrão do
Python. Além disso, como mencionado
Python possui uma ampla biblioteca padrão anteriormente, você pode importar módulos
que oferece diversas funções prontas para uso. externos para ter acesso a mais funções
Essas funções são agrupadas em módulos, e cada especializadas em diversas áreas, como ciência de
módulo é projetado para resolver um conjunto dados, aprendizado de máquina, processamento
específico de problemas ou fornecer um conjunto de imagens, entre outras.
de funcionalidades relacionadas.

Além das funções padrão, é possível


importar bibliotecas externas que fornecem :
de do dia
ainda mais funcionalidades para atender a Curiosida
diversas necessidades específicas.
Uma curiosidade legal sobre as
A seguir, menciono algumas das funções funções em Python é que, além de
disponíveis em Python a partir da biblioteca poderem retornar valores usando a
padrão, mas é importante ressaltar que a lista é instrução return, elas também podem
extensa e não é possível listar todas as funções retornar múltiplos valores em forma de
em um único espaço: uma tupla. Normalmente, em muitas
linguagens de programação, uma função
1. Funções matemáticas: abs(), round(), pode retornar apenas um único valor. No
pow(), min(), max(), sum(), sqrt(), ceil(), entanto, em Python, é possível retornar
floor(), etc. vários valores agrupados em uma tupla,
2. Funções de conversão de tipos de dados: mesmo que a função não especifique
int(), float(), str(), bool(), list(), tuple(), set(), explicitamente que irá retornar uma
dict(), etc. tupla.
3. Funções de manipulação de strings: len(),
upper(), lower(), split(), strip(), join(), etc.
4. Funções para trabalhar com listas, tuplas e
Essa característica é muito útil quando você
conjuntos: append(), pop(), count(), index(),
deseja retornar vários resultados relacionados de
sort(), reverse(), tuple(), set(), etc.
uma função sem a necessidade de criar uma

23 de 53
estrutura de dados complexa. A capacidade de
retornar múltiplos valores em uma única
chamada de função torna Python uma linguagem
ainda mais versátil e eficiente para resolver
problemas diversos. Essa característica é muito
útil quando você deseja retornar vários
resultados relacionados de uma função sem a
necessidade de criar uma estrutura de dados
complexa. A capacidade de retornar múltiplos
valores em uma única chamada de função torna
Python uma linguagem ainda mais versátil e
eficiente para resolver problemas diversos.

Exercício 2 - Média de Notas:

1. Crie uma função chamada calcular_media


que recebe uma lista de notas (números
7.3. Exercícios opcionais
reais) como parâmetro.
2. Dentro da função, calcule a média das
Exercício 1 - Verificar Número Primo:
notas somando todos os valores da lista e
1. Crie uma função chamada eh_primo que dividindo pelo número total de notas.
recebe um número inteiro como 3. Retorne a média calculada.
parâmetro. 4. Fora da função, peça ao usuário que insira
2. Dentro da função, verifique se o número é a quantidade de notas que deseja calcular.
maior que 1, pois números primos são 5. Em seguida, solicite que o usuário digite
maiores que 1. cada nota individualmente e armazene-as
3. Use um loop for para iterar de 2 até a raiz em uma lista.
quadrada do número (use a função 6. Chame a função calcular_media com a lista
math.sqrt() para calcular a raiz quadrada). de notas inseridas e exiba a média
4. Verifique se o número é divisível por calculada.
qualquer um dos valores do loop. Se for, 7. Confira o resultado abaixo:
retorne False porque não é um número
primo.
5. Se o loop não encontrar divisores, retorne
True, pois o número é primo.
6. Fora da função, solicite ao usuário que
insira um número inteiro.
7. Chame a função eh_primo com o número
inserido pelo usuário e exiba uma
mensagem indicando se o número é primo
ou não.
8. Confira o resultado abaixo:

24 de 53
Python Aula
8. Lidando com erros 8
8.1. Erros em Python Exemplo de exceção:

E
m Python, erros são ocorrências python
indesejadas que acontecem durante a
execução de um programa. Quando o lista = [1, 2, 3]
interpretador de Python encontra um erro, ele print(lista[5]) # Erro: tentativa de
acessar um índice que não existe na lista
interrompe a execução e exibe uma mensagem de
erro, conhecida como "traceback" ou
"rastreamento", indicando qual o tipo de erro
ocorreu e onde ele foi encontrado no código. Erros Lógicos (Logical Errors): Esses erros
ocorrem quando o programa não produz o
resultado esperado, mas não geram mensagens
de erro. Os erros lógicos geralmente são
causados por falhas no raciocínio ou na lógica do
código, resultando em um comportamento
8.2. Tipos de erros incorreto.

Os erros em Python podem ser divididos em Exemplo de erro lógico:


três categorias principais:
python
Erros de Sintaxe (Syntax Errors): Esses erros
ocorrem quando há um erro de digitação ou uma def calcular_area_retangulo(largura,
estrutura incorreta no código, violando as regras altura):
de sintaxe da linguagem. Python exibirá uma return largura * altura # Deveria ser
altura * largura
mensagem de erro apontando para a linha
específica onde o erro foi detectado. area = calcular_area_retangulo(5, 10)
print(area) # Saída: 50 (incorreta) em vez
Exemplo de erro de sintaxe: de 50 (correta)

python
É importante lembrar que os erros são parte
print("Olá, mundo!) # Erro de sintaxe: natural do processo de desenvolvimento, e
falta uma aspa no final da string programadores enfrentam erros o tempo todo.
Eles são uma maneira de identificar problemas no
código e corrigi-los para torná-lo mais robusto e
Exceções (Exceptions): As exceções ocorrem funcional. Ao encontrar erros, o Python fornece
durante a execução do código, quando algo informações valiosas no rastreamento para
inesperado acontece e impede a conclusão ajudar a entender a causa do problema,
normal da tarefa. facilitando a depuração e resolução dos mesmos.

As exceções são frequentemente causadas


por erros lógicos, como divisão por zero,
tentativa de acessar um índice inválido em uma
lista, entre outros.

25 de 53
Tratando erros em Python

Em Python, você pode tratar erros usando python


blocos "try", "except" para capturar exceções e
try:
lidar com elas de forma controlada. O tratamento x = int(input("Digite um número: "))
de erros permite que você previna a interrupção y = int(input("Digite outro número: "))
abrupta do programa e forneça um tratamento resultado = x / y
except ValueError:
adequado para erros específicos, o que ajuda a
print("Digite apenas números inteiros.")
tornar o código mais robusto e a evitar que o except ZeroDivisionError:
programa pare de funcionar inesperadamente. print("Divisão por zero não é
permitida.")
A estrutura básica para tratar erros em else:
print("O resultado da divisão é:",
Python é a seguinte: resultado)
finally:
print("Fim do programa.")
python

try:
# Código que pode gerar um erro Neste exemplo, o código dentro do bloco try
except TipoDoErro: tentará obter dois números inteiros do usuário e
# Código para lidar com o erro do tipo
especificado
realizar uma divisão. Se ocorrer um erro do tipo
ValueError (por exemplo, se o usuário digitar um
valor não inteiro) ou um erro ZeroDivisionError
(se o usuário digitar 0 como segundo número), o
Explicação passo a passo:
bloco except correspondente será executado
1. Coloque o código que pode gerar um erro para lidar com o erro específico. Se nenhuma
dentro do bloco try. exceção for gerada, o bloco else será executado.
2. Se ocorrer um erro do tipo especificado O bloco finally será sempre executado,
após a palavra-chave except, o código independentemente de ocorrer ou não uma
dentro do bloco except será executado. exceção.
3. O bloco except é usado para lidar com
O tratamento de erros é uma prática
exceções específicas. Você pode
importante na programação, pois ajuda a garantir
especificar o tipo de erro após a palavra-
que o programa continue funcionando mesmo
chave except, como ZeroDivisionError,
quando situações inesperadas ocorrem.
ValueError, IndexError, etc. Ou
simplesmente usar except sem nenhum
tipo para tratar qualquer exceção.
4. Se ocorrer um erro que não corresponda a
nenhum tipo especificado no bloco except,
o programa exibirá um traceback como de
costume, indicando que não foi tratado.

Exemplo de tratamento de erro:

26 de 53
inteiro como índice para acessar um
elemento da lista.
: 3. Use um bloco try/except para tratar
de do dia
Curiosida possíveis erros ao tentar acessar o
elemento da lista com o índice fornecido.
Uma curiosidade legal sobre erros
4. Se o índice estiver dentro dos limites
em Python é que você pode criar suas
válidos da lista, exiba o elemento
próprias exceções personalizadas,
correspondente.
chamadas de "exceções personalizadas"
5. Se ocorrer um erro de índice inválido (por
ou "exceções customizadas". Isso permite
exemplo, índice maior que o tamanho da
que você crie tipos de erros específicos
lista), capture o erro e exiba uma
para o seu programa, tornando a
mensagem indicando que o índice é
depuração mais fácil e fornecendo
inválido.
mensagens de erro mais claras e
informativas para os usuários.

8.3. Exercícios opcionais

Exercício 1 - Divisão de Números:

1. Peça ao usuário que digite dois números


inteiros.
2. Use um bloco try/except para tratar anotações
possíveis erros durante a divisão dos
números.
3. Se a divisão for possível, exiba o resultado
da divisão.
4. Se ocorrer um erro de divisão por zero,
capture o erro e exiba uma mensagem
indicando que a divisão não é possível.
5. Confira o resultado abaixo.

Exercício 2 - Índice em Lista:

1. Crie uma lista de números.


2. Peça ao usuário que digite um número

27 de 53
Python Aula
9. Modulos e pacotes 9
9.1. Módulos 5. Módulos Externos: Além da biblioteca
padrão, você também pode instalar
m Python, um módulo é um arquivo módulos externos através do gerenciador
E contendo definições de funções, classes e de pacotes do Python (como o pip). Esses
variáveis que podem ser reutilizadas em outros módulos adicionais fornecem recursos
programas. Ele é uma unidade de organização de adicionais para tarefas específicas, como
código que permite que você divida o seu código ciência de dados, desenvolvimento web,
em partes menores, tornando-o mais modular e aprendizado de máquina, entre outros.
fácil de gerenciar.

9.3. Utilização de módulos


9.2. Características dos módulos
Para usar um módulo em Python, você
Os módulos em Python têm as seguintes precisa importá-lo no seu programa. Isso é feito
características: usando a palavra-chave "import", seguida do
nome do módulo. Por exemplo, para usar o
1. Reutilização de código: Você pode módulo de matemática padrão em Python, você
escrever funções, classes e outras pode fazer:
definições em um módulo e, em seguida,
importar esse módulo em outros
python
programas para reutilizar esse código. Isso
evita a repetição de código e promove a import math
organização.
2. Encapsulamento: As definições no módulo # Agora, você pode usar as funções e
constantes do módulo 'math', como
são encapsuladas, o que significa que o math.sqrt(), math.sin(), math.pi, etc.
código fora do módulo não pode acessar
essas definições diretamente, a menos que
sejam explicitamente importadas.
Os módulos em Python são uma maneira
3. Organização: Módulos ajudam a organizar
poderosa de organizar e reutilizar código,
o código em unidades lógicas. Isso facilita
permitindo que você aproveite a funcionalidade
a manutenção, pois alterações em um
existente e crie programas mais eficientes e
módulo não afetarão diretamente outros
organizados.
módulos.
4. Biblioteca Padrão: Python possui uma
biblioteca padrão extensa, que é um
conjunto de módulos que acompanham a
instalação do Python. Esses módulos
fornecem funcionalidades para tarefas
comuns, como manipulação de strings,
operações matemáticas, acesso a
arquivos, etc.

28 de 53
interação com o sistema operacional.

9.4. Tipos de módulos python

import os
O Python possui uma ampla variedade de
módulos que abrangem diversos domínios e print(os.getcwd()) # Saída: Caminho do
funcionalidades. Abaixo estão alguns exemplos diretório de trabalho atual
print(os.listdir()) # Saída: Lista de
de módulos populares e úteis em Python:
arquivos e pastas no diretório atual

Módulo math: Fornecer funções


matemáticas comuns, como trigonometria,
logaritmo, exponencial, entre outros. Módulo json: Oferecer suporte para
codificação e decodificação de dados JSON.

python
python
import math
import json
print(math.sqrt(25)) # Saída: 5.0
print(math.sin(math.pi/2)) # Saída: 1.0 dados = {'nome': 'João', 'idade': 30}
print(math.log(10)) # Saída: json_string = json.dumps(dados)
2.302585092994046 print(json_string) # Saída: '{"nome":
"João", "idade": 30}'

dados_decodificados =
Módulo random: Oferecer recursos para json.loads(json_string)
gerar números aleatórios. print(dados_decodificados) # Saída:
{'nome': 'João', 'idade': 30}

python
Módulo requests: Possibilitar a realização de
import random
requisições HTTP para acessar APIs e páginas
print(random.random()) # Saída: Número web.
aleatório entre 0 e 1
print(random.randint(1, 10)) # Saída:
Número aleatório inteiro entre 1 e 10 python

import requests

Módulo datetime: Permitir trabalhar com resposta =


datas e horários. requests.get('https://api.exemplo.com/dados'
)
dados = resposta.json()
python print(dados)

import datetime

data_atual = datetime.date.today() Esses são apenas alguns exemplos dos


print(data_atual) # Saída: 2023-07-31 muitos módulos disponíveis em Python. Além
desses, existem módulos específicos para ciência
hora_atual = datetime.datetime.now()
de dados (como numpy, pandas),
print(hora_atual) # Saída: 2023-07-31
14:30:45.123456 desenvolvimento web (como flask, django),
aprendizado de máquina (como scikit-learn,
tensorflow), entre muitos outros. Cada módulo
Módulo os: Fornecer funcionalidades para

29 de 53
tem suas próprias funcionalidades e pode ser útil 9.7. Acessando Pacotes
em diferentes contextos de desenvolvimento.
Para acessar os módulos dentro de um
pacote ou subpacote, você pode usar a sintaxe de
9.5. Pacotes
importação com os pontos (.). Por exemplo:
Em Python, um pacote é uma forma de
organizar e estruturar módulos relacionados em python
diretórios para facilitar a criação e manutenção
de projetos maiores e mais complexos. Os # Importando um módulo dentro do pacote
from meu_pacote import modulo1
pacotes são uma maneira de organizar e
modularizar o código em uma hierarquia, # Importando um módulo dentro do subpacote
permitindo que você agrupe módulos from meu_pacote.subpacote import modulo3
relacionados em um único diretório.

Um pacote Python é simplesmente um Quando você importa um pacote, o arquivo


diretório que contém um arquivo especial __init__.py do pacote é executado, permitindo que
chamado __init__.py. Esse arquivo é executado você faça qualquer configuração ou inicialização
quando o pacote é importado e pode conter necessária para o pacote.
código de inicialização do pacote. O pacote pode
conter outros módulos Python, bem como outros Pacotes são uma maneira eficaz de organizar
subpacotes, que são subdiretórios contendo projetos maiores em partes menores e
também arquivos __init__.py. relacionadas, permitindo que você trabalhe com
código modular e reutilizável. Eles são
amplamente utilizados em projetos Python mais
complexos e em bibliotecas que você deseja
compartilhar com outras pessoas.

9.6. Hierarquia dos Pacotes

A hierarquia de pacotes e subpacotes é


indicada pelo uso de pontos (.) no nome dos
pacotes. Por exemplo, se você tiver um pacote 9.8. Exercícios opcionais
chamado meu_pacote que contém um subpacote
chamado subpacote, a estrutura de diretórios Exercício 1 - Criando um Módulo de
será a seguinte: Cálculos Matemáticos:

1. Crie um arquivo chamado calculadora.py.


python 2. Defina funções para as operações
matemáticas básicas (soma, subtração,
meu_pacote/
__init__.py multiplicação e divisão) no arquivo
modulo1.py calculadora.py.
modulo2.py 3. Crie um novo arquivo Python chamado
subpacote/
__init__.py meu_programa.py.
modulo3.py 4. Importe o módulo calculadora criado no
modulo4.py passo 2 no arquivo meu_programa.py.
5. Utilize as funções do módulo calculadora
para realizar algumas operações
matemáticas.
6. Confira o resultado abaixo:

30 de 53
Exercício 2 - Criando um Módulo de
Manipulação de Strings:

1. Crie um arquivo chamado string_utils.py.


2. Defina funções para manipulação de
strings, como converter uma string para
maiúsculas, contar a ocorrência de um
caractere específico ou verificar se uma
string é um palíndromo.
3. Crie um novo arquivo Python chamado
meu_programa.py.
4. Importe o módulo string_utils criado no
passo 2 no arquivo meu_programa.py.
5. Utilize as funções do módulo string_utils
para manipular algumas strings.
6. Confira o resultado abaixo.

anotações

31 de 53
Python Aula
10. Objetos 10
10.1. Objetos Os métodos permitem que os objetos
executem ações específicas.
m Python, objetos são entidades 5. Herança: A herança é um conceito
E fundamentais que representam dados e importante na programação orientada a
possuem comportamentos associados a eles. objetos que permite criar uma nova classe
Python é uma linguagem de programação (chamada classe derivada ou subclasse) a
orientada a objetos (POO), o que significa que a partir de uma classe existente (chamada
maioria das estruturas de dados e classe base ou superclasse). A classe
funcionalidades são implementadas como derivada herda os atributos e métodos da
objetos ou são baseadas em objetos. classe base e pode adicionar ou modificar
comportamentos.
Um objeto em Python é uma instância de 6. Encapsulamento: O encapsulamento é o
uma classe, que é uma espécie de "modelo" que princípio de ocultar detalhes internos de
define as características e comportamentos que o um objeto e expor apenas uma interface
objeto terá. Uma classe serve como um plano ou pública. Em Python, isso é geralmente
projeto para criar objetos com atributos e alcançado através do uso de métodos para
métodos específicos. acessar e modificar os atributos do objeto.
7. Polimorfismo: O polimorfismo é a
capacidade de diferentes classes
compartilharem uma mesma interface
(métodos com o mesmo nome), mas cada
classe pode implementar esse método de
10.2. Conceito de objetos maneira diferente. Isso permite que
objetos de diferentes classes sejam
Aqui estão alguns conceitos importantes tratados de forma uniforme quando eles
relacionados a objetos em Python: têm um comportamento comum.

1. Classe: Uma classe é uma estrutura que Em resumo, objetos em Python são
define o comportamento e as entidades que combinam dados e
características de um objeto. Ela funciona comportamentos relacionados em uma única
como um molde para criar objetos com unidade. Eles permitem que você modele e
atributos e métodos específicos. manipule dados complexos de maneira mais
2. Objeto: Um objeto é uma instância de uma estruturada e organizada, tornando a
classe. Quando uma classe é instanciada, programação mais eficiente e elegante.
ela cria um objeto com os atributos e
métodos definidos pela classe.
3. Atributo: Um atributo é uma variável que
está associada a um objeto e armazena um
valor específico. Cada objeto de uma
classe pode ter seus próprios valores de
atributos.
4. Método: Um método é uma função
definida dentro de uma classe que define o
comportamento dos objetos dessa classe.

32 de 53
Objeto Círculo:

10.3. Exemplo de Objetos


python
Objeto Pessoa:
import math

python class Circulo:


def __init__(self, raio):
self.raio = raio
class Pessoa:
def __init__(self, nome, idade): def calcular_area(self):
self.nome = nome return math.pi * self.raio ** 2
self.idade = idade
def calcular_perimetro(self):
def apresentar(self): return 2 * math.pi * self.raio
print(f"Olá, meu nome é {self.nome}
e tenho {self.idade} anos.") # Criando objetos da classe Circulo
circulo1 = Circulo(5)
# Criando objetos da classe Pessoa circulo2 = Circulo(7)
pessoa1 = Pessoa("João", 30)
pessoa2 = Pessoa("Maria", 25) # Chamando os métodos para cada objeto
print("Área do círculo1:",
# Chamando o método apresentar para cada circulo1.calcular_area())
objeto print("Perímetro do círculo1:",
pessoa1.apresentar() circulo1.calcular_perimetro())
pessoa2.apresentar()
print("Área do círculo2:",
circulo2.calcular_area())
print("Perímetro do círculo2:",
Objeto Carro: circulo2.calcular_perimetro())

python
Esses são exemplos simples de objetos em
class Carro: Python. Em projetos mais complexos, você pode
def __init__(self, marca, modelo, ano): criar classes com mais atributos e métodos para
self.marca = marca
self.modelo = modelo modelar entidades e funcionalidades mais
self.ano = ano avançadas. Os objetos permitem que você
mantenha o código organizado, reutilize
def info(self):
funcionalidades e aplique conceitos importantes
print(f"Marca: {self.marca}, Modelo:
{self.modelo}, Ano: {self.ano}") da programação orientada a objetos, como
encapsulamento e herança.
# Criando objetos da classe Carro
carro1 = Carro("Toyota", "Corolla", 2020)
carro2 = Carro("Honda", "Civic", 2019)

# Chamando o método info para cada objeto


carro1.info()
carro2.info()

33 de 53
6. Passe para a próxima linha e adicione o
método consultar_saldo à classe
: ContaBancaria, que imprimirá o saldo
de do dia
Curiosida atual da conta:
7. Passe para a próxima linha e crie um
Uma curiosidade interessante sobre
objeto da classe ContaBancaria,
objetos em Python é que, na realidade,
fornecendo um titular e saldo inicial:
tudo em Python é um objeto. Isso
8. Passe para a próxima linha e realize
mesmo, absolutamente tudo! Até mesmo
operações com a conta bancária, como
os tipos de dados básicos, como
consultar o saldo, depositar e sacar:
números, strings e listas, são objetos em
9. Salve o arquivo
Python. Isso acontece porque Python é
"exercicio_conta_bancaria.py" e execute-o.
uma linguagem de programação
Observe a saída que exibe o saldo antes e
altamente orientada a objetos. Quando
após as operações de depósito e saque.
você cria uma variável, ela é realmente
10. Confira o resultado abaixo:
uma referência para um objeto na
memória, não apenas um valor primitivo.
Isso significa que até mesmo números e
operações matemáticas são realizados
através de objetos.

10.4. Exercícios opcionais

Exercício 1 - Simulação de uma conta


Bancária:

1. Crie um novo arquivo Python em seu


editor de código favorito e nomeie-o como
"exercicio_conta_bancaria.py".
2. Escreva a seguinte linha de código para Exercício 2: Simulação de uma Agenda de
criar a classe ContaBancaria, que possui Contatos
atributos para o titular e saldo inicial: class
ContaBancaria:class ContaBancaria: 1. Crie um novo arquivo Python em seu
3. Passe para a próxima linha e adicione o editor de código favorito e nomeie-o como
método __init__ à classe ContaBancaria, "exercicio_agenda_contatos.py".
que receberá o titular e o saldo inicial 2. Escreva a seguinte linha de código para
como parâmetros e inicializará os criar a classe Contato, que possui
atributos da classe: atributos para o nome e telefone do
4. Passe para a próxima linha e adicione o contato: class Contato:class Contato:
método depositar à classe ContaBancaria, 3. Passe para a próxima linha e adicione o
que receberá um valor como parâmetro e método __init__ à classe Contato, que
adicionará esse valor ao saldo: receberá o nome e o telefone do contato
5. Passe para a próxima linha e adicione o como parâmetros e inicializará os
método sacar à classe ContaBancaria, que atributos da classe:
receberá um valor como parâmetro e 4. Passe para a próxima linha e adicione o
verificará se há saldo suficiente para o método exibir_info à classe Contato, que
saque. Se houver, o valor será subtraído do imprimirá o nome e o telefone do contato:
saldo; caso contrário, uma mensagem de 5. Passe para a próxima linha e crie uma lista
saldo insuficiente será exibida: vazia para armazenar os contatos:

34 de 53
6. Passe para a próxima linha e crie objetos
da classe Contato e adicione-os à lista de
contatos:
7. Passe para a próxima linha e exiba as
informações dos contatos armazenados na
lista:
8. Salve o arquivo
"exercicio_agenda_contatos.py" e execute-
o. Verifique a saída que exibe as
informações dos contatos adicionados à
lista.
9. Confira o resultado abaixo:

anotações

35 de 53
Python Aula
11. Dicionários 11
11.1. Dicionários mutáveis, o que significa que você pode
adicionar, modificar ou remover pares
m Python, um dicionário é uma estrutura de chave-valor após a criação do dicionário.
E dados que permite armazenar elementos 4. Não-Ordenação: Os elementos em um
em pares de chave-valor. Cada valor é associado a dicionário não possuem uma ordem
uma chave única, e os elementos no dicionário específica, o que significa que eles não são
não possuem uma ordem específica. Dicionários acessados por meio de índices numéricos,
são conhecidos por outros nomes em diferentes mas sim pelas chaves.
linguagens de programação, como "hash maps"
ou "associações".

Exemplo de um dicionário:

11.3. Criação de dicionários


python
Para criar um dicionário em Python, você
# Criando um dicionário de informações de
uma pessoa utiliza chaves {} e coloca os pares chave-valor
pessoa = { separados por dois-pontos :. Veja um exemplo:
'nome': 'João',
'idade': 30,
'cidade': 'São Paulo' python
}

# Criando um dicionário de informações de


uma pessoa
pessoa = {
'nome': 'João',
'idade': 30,
'cidade': 'São Paulo'
}

11.2. Características de um
dicionário Para acessar os valores do dicionário, você
utiliza a chave entre colchetes []:
As principais características dos dicionários
em Python são: python
1. Chave-Valor: Cada elemento no dicionário print(pessoa['nome']) # Saída: João
é representado por um par chave-valor, print(pessoa['idade']) # Saída: 30
onde a chave é a única usada para acessar
o valor correspondente.
2. Chaves Únicas: As chaves em um Você pode modificar os valores associados a
dicionário devem ser únicas, o que uma chave existente ou adicionar novos pares
significa que não pode haver chaves chave-valor da seguinte forma:
duplicadas.
3. Mutabilidade: Os dicionários são

36 de 53
"exercicio_notas_alunos.py" e execute-o.
Verifique a saída que exibe as médias de
python
cada aluno.
pessoa['idade'] = 31 7. Observe o resultado abaixo:
pessoa['profissao'] = 'Engenheiro'

Também é possível verificar se uma chave


específica está presente no dicionário usando o
operador in:

python

if 'cidade' in pessoa:
print("Chave 'cidade' encontrada no
dicionário.")

Os dicionários em Python são amplamente


Exercício 2: Contando Caracteres em uma
utilizados para mapear dados em diversas
String
aplicações e oferecem uma forma eficiente de
acessar, adicionar e manipular informações 1. Crie um novo arquivo Python em seu
associadas a chaves específicas. editor de código favorito e nomeie-o como
"exercicio_contagem_caracteres.py".
2. Escreva a seguinte linha de código para
receber uma string de entrada do
usuário: entrada = input("Digite uma frase:
")
11.4. Exercícios opcionais 3. Passe para a próxima linha e crie um
dicionário vazio chamado
Exercício 1 - Gerenciando Notas de Alunos "contagem_caracteres":
4. Passe para a próxima linha e use um loop
1. Crie um novo arquivo Python em seu
para contar a ocorrência de cada caractere
editor de código favorito e nomeie-o como
na string e armazenar no dicionário
"exercicio_notas_alunos.py".
"contagem_caracteres":
2. Escreva a seguinte linha de código para
5. Passe para a próxima linha e exiba a
criar um dicionário vazio chamado
contagem de cada caractere na string:
"notas_alunos": notas_alunos =
6. Salve o arquivo
{}notas_alunos = {}
"exercicio_contagem_caracteres.py" e
3. Passe para a próxima linha e adicione as
execute-o. Digite uma frase de entrada e
notas de três alunos ao dicionário. Utilize
verifique a saída que exibe a contagem de
o nome do aluno como chave e uma lista
cada caractere na frase. Salve o arquivo
com as notas, como valor:
"exercicio_contagem_caracteres.py" e
4. Passe para a próxima linha e escreva um
execute-o.
loop para calcular a média de cada aluno e
7. Observe o resultado abaixo:
armazenar em um novo dicionário
chamado "medias_alunos":
5. Passe para a próxima linha e exiba as
médias de cada aluno:
6. Salve o arquivo

37 de 53
anotações

38 de 53
Python Aula
12. Arquivos 12
12.1. Arquivos escrita ("w" ou "a"). Esse método permite
gravar strings no arquivo.
m Python, arquivos são recursos usados 4. Fechar um arquivo: Após a manipulação
E para armazenar dados em dispositivos de do arquivo, é importante fechá-lo usando
armazenamento permanentes, como discos o método close() para liberar os recursos
rígidos ou SSDs. Eles permitem que você leia do sistema operacional associados ao
informações de um arquivo ou escreva dados em arquivo.
um arquivo para persistência ou
Exemplo de leitura de um arquivo de texto:
compartilhamento de dados entre diferentes
execuções de um programa.
python
Os arquivos podem ser de diferentes tipos,
como arquivos de texto (.txt), arquivos binários, # Abrir um arquivo em modo de leitura
arquivos CSV (.csv), arquivos JSON (.json), entre arquivo = open("arquivo.txt", "r")

outros. Cada tipo de arquivo possui sua própria # Ler o conteúdo do arquivo
estrutura e forma de manipulação. conteudo = arquivo.read()

# Fechar o arquivo após a leitura


arquivo.close()

# Imprimir o conteúdo lido


print(conteudo)
12.2. Manipulação de Arquivos

Em Python, a manipulação de arquivos é Exemplo de escrita em um arquivo de texto:


feita usando funções e métodos específicos que
permitem abrir, ler e escrever em arquivos. As
principais operações em arquivos são:
python

# Abrir um arquivo em modo de escrita


1. Abrir um arquivo: Para começar a
arquivo = open("novo_arquivo.txt", "w")
trabalhar com um arquivo, você precisa
abri-lo usando a função open(). Essa # Escrever no arquivo
função recebe o caminho do arquivo e o arquivo.write("Este é um novo arquivo criado
por Python!")
modo de abertura, que pode ser "r" para
leitura, "w" para escrita, "a" para anexar # Fechar o arquivo após a escrita
conteúdo no final do arquivo ou "x" para arquivo.close()
criar um novo arquivo para escrita.
2. Ler um arquivo: Para ler o conteúdo de um
arquivo, você pode usar o método read() Os arquivos em Python são amplamente
após abrir o arquivo em modo de leitura usados para armazenar e acessar dados
("r"). Ele retorna o conteúdo completo do persistentes, como configurações, registros de
arquivo como uma string. eventos, arquivos de texto, imagens, e muito
3. Escrever em um arquivo: Para escrever em mais.
um arquivo, você pode usar o método
write() após abrir o arquivo em modo de

39 de 53
12.3. Trabalhando com arquivos trabalhar com um arquivo, é importante fechá-lo
usando o método close() para liberar os recursos
Trabalhar com arquivos em Python envolve do sistema operacional associados ao arquivo.
algumas etapas básicas: abrir, ler ou escrever,
manipular o conteúdo e, finalmente, fechar o python
arquivo. Vamos explorar essas etapas em mais
detalhes: arquivo_leitura.close()
arquivo_escrita.close()
Abrir um arquivo: Para abrir um arquivo,
você usa a função open() que recebe o caminho
do arquivo e o modo de abertura como Lembre-se de que a manipulação de arquivos
parâmetros. O modo de abertura pode ser "r" pode levantar exceções, como quando o arquivo
para leitura, "w" para escrita, "a" para anexar não é encontrado ou quando há problemas de
conteúdo no final do arquivo ou "x" para criar um permissão. Certifique-se de incluir tratamento de
novo arquivo para escrita. exceções para garantir que o programa lide
adequadamente com essas situações.
python

# Exemplo: Abrir um arquivo para leitura


arquivo_leitura = open("arquivo.txt", "r")

# Exemplo: Abrir um arquivo para escrita


arquivo_escrita = open("novo_arquivo.txt",
12.4. Exercícios opcionais
"w")
Exercício 1 - Contador de Palavras em um
Arquivo de Texto
Ler o conteúdo do arquivo: Para ler o
1. Crie um novo arquivo Python em seu
conteúdo de um arquivo aberto em modo de
editor de código favorito e nomeie-o como
leitura, você pode usar o método read(). Esse
"exercicio_contador_palavras.py".
método retornará o conteúdo completo do
2. Escreva a seguinte linha de código para
arquivo como uma string.
receber o nome do arquivo de texto a ser
lido como entrada do
python usuário: nome_arquivo = input("Digite o
nome do arquivo de texto: ")
conteudo = arquivo_leitura.read() 3. Passe para a próxima linha e abra o
print(conteudo)
arquivo em modo de leitura, usando o
bloco with:
4. Passe para a próxima linha e leia o
Escrever em um arquivo: Para escrever em conteúdo completo do arquivo usando o
um arquivo aberto em modo de escrita ou anexo, método read():
você pode usar o método write(). Esse método 5. Passe para a próxima linha e conte o
permite gravar strings no arquivo. número de palavras no conteúdo do
arquivo usando o método split() para
python dividir o conteúdo em palavras:
6. Passe para a próxima linha e exiba o
arquivo_escrita.write("Este é um novo resultado do contador de palavras:
arquivo criado por Python!") 7. Salve o arquivo
"exercicio_contador_palavras.py" e
execute-o. Digite o nome de um arquivo de
Fechar o arquivo: Sempre que terminar de

40 de 53
texto e verifique o número de palavras no
arquivo.
8. Observe o resultado abaixo:

anotações

Exercício 2: Copiar Conteúdo de um


Arquivo para Outro

1. Crie um novo arquivo Python em seu


editor de código favorito e nomeie-o como
"exercicio_copiar_arquivos.py".
2. Escreva a seguinte linha de código para
receber os nomes dos arquivos de origem
e destino como entrada do usuário:
3. Passe para a próxima linha e abra o
arquivo de origem em modo de leitura e o
arquivo de destino em modo de escrita,
usando o bloco with:
4. Passe para a próxima linha e leia o
conteúdo completo do arquivo de origem
usando o método read():
5. Passe para a próxima linha e escreva o
conteúdo lido no arquivo de destino
usando o método write():
6. Passe para a próxima linha e exiba uma
mensagem informando que a cópia foi
realizada com sucesso:
7. Salve o arquivo
"exercicio_copiar_arquivos.py" e execute-
o. Digite os nomes de um arquivo de
origem e um arquivo de destino e verifique
se o conteúdo foi copiado corretamente.
8. Confira o resultado abaixo:

41 de 53
Python Aula
13. Bibliotecas externas 13
13.1. O que são Bibliotecas Externas?
python
s bibliotecas externas são conjuntos de
A código pré-escrito que estendem a python --version
funcionalidade do Python. Elas contêm funções, pip --version

classes e métodos que podem ser importados e


utilizados para tarefas específicas.
Certifique-se de que não há erros e de que a
versão do Python e do Pip é exibida
corretamente. Caso contrário, você precisará
instalar o Python e configurar o Pip
corretamente.
13.2. Por que usar Bibliotecas
Externas? 2. Encontrando o Nome da Biblioteca.

Você geralmente encontrará o nome da


As bibliotecas externas economizam tempo biblioteca que deseja instalar em sua
e esforço, permitindo que você reutilize soluções documentação oficial ou em repositórios online,
desenvolvidas por outros desenvolvedores. Elas como o PyPI (Python Package Index).
fornecem funcionalidades avançadas sem que
você precise escrever todo o código do zero. 3. Instalando a Biblioteca.

No terminal, utilize o comando pip install


seguido do nome da biblioteca para instalá-la. Por
exemplo, para instalar a biblioteca NumPy:

13.3. Como instalar Bibliotecas


python
Externas
pip install numpy
Para utilizar bibliotecas externas em seus
projetos Python, é necessário instalá-las no
ambiente em que você está trabalhando. A Repita esse passo a passo para qualquer
ferramenta padrão para fazer isso é o pip, o outra biblioteca que você deseja instalar.
gerenciador de pacotes do Python. Siga os passos
abaixo para instalar bibliotecas externas:

1. Verificando a Instalação do Python e do


Pip.
13.4. Principais Bibliotecas Externas
Antes de tudo, verifique se você tem o
Python e o Pip instalados em seu sistema. Abra o em Python
terminal e digite os seguintes comandos:
Abaixo, vamos verificar as bibliotecas mais
populares em Python.

42 de 53
1. NumPy

O NumPy é uma biblioteca fundamental para


computação científica em Python. Ela oferece python
suporte a arrays multidimensionais e funções
import matplotlib.pyplot as plt
matemáticas de alto desempenho.
x = [1, 2, 3, 4, 5]
Exemplo de uso: y = [10, 15, 7, 12, 9]
plt.plot(x, y)
plt.xlabel('Eixo X')
python plt.ylabel('Eixo Y')
plt.title('Gráfico de Linha')
import numpy as np plt.show()

array = np.array([1, 2, 3, 4, 5])


mean = np.mean(array)
print("Média:", mean) 4. Requests

A biblioteca Requests é usada para fazer


requisições HTTP, permitindo a interação com
2. Pandas APIs da web e a obtenção de conteúdo online.
O Pandas é amplamente usado para análise e Exemplo de uso:
manipulação de dados. Ele fornece as estruturas
de dados DataFrame e Series, essenciais para
lidar com dados tabulares. python

Exemplo de uso: import requests

response =
python requests.get('https://api.exemplo.com/dados'
)
data = response.json()
import pandas as pd print(data)

data = {'Nome': ['Alice', 'Bob', 'Carol'],


'Idade': [25, 30, 22]}
df = pd.DataFrame(data)
print(df)

:
3. Matpoltbit de do dia
Curiosida
O Matplotlib é uma biblioteca de O arquivo requirements.txt é usado
visualização que permite criar gráficos e para listar todas as bibliotecas externas
visualizações de dados de forma fácil e flexível. que seu projeto utiliza. Isso facilita a
replicação do ambiente em outros
Exemplo de uso:
sistemas.

43 de 53
1. Abra seu ambiente Python (IDE ou
terminal);

13.5. Exercícios opcionais 2. No terminal, digite o comando "pip install


matplotlib" para instalar a biblioteca;
Exercício 1 - Instalando e utilizando a
biblioteca NumPy 3. Crie um novo arquivo Python;

1. Abra seu ambiente Python (IDE ou 4. Insira o seguinte código:


terminal);
python
2. No terminal, digite o comando "pip install
numpy" para instalar a biblioteca; import matplotlib.pyplot as plt

3. Crie um novo arquivo Python; # Dados para o gráfico


x = [1, 2, 3, 4, 5]
4. Insira o seguinte código y = [10, 15, 7, 12, 9]

# Crie um gráfico de linha


python plt.plot(x, y)

# Adicione rótulos aos eixos


import numpy as np
plt.xlabel('Eixo X')
plt.ylabel('Eixo Y')
# Crie um array NumPy com os números de 1 a
5
# Adicione um título ao gráfico
array = np.array([1, 2, 3, 4, 5])
plt.title('Gráfico de Linha')

# Calcule a média dos valores do array


# Exiba o gráfico
mean = np.mean(array)
plt.show()

# Imprima a média
print("A média dos valores é:", mean)
5. Execute o código, você deve ver a média
dos números impressos na saída;

5. Execute o código, você deve ver a média 6. Confira o resultado abaixo.


dos números impressos na saída;

6. Confira o resultado abaixo.

Exercício 2 - Criando um gráfico em linha


com Matplotlib

44 de 53
Python Aula
14. Data e hora 14
14.1. O que é Data e Hora? pode realizar cálculos temporais, lidar com fusos
horários e muito mais.
m nosso mundo, a noção de data e hora é
E essencial para organizar e compreender o
tempo que passa. Da mesma forma, em
programação, a capacidade de trabalhar com
datas e horas é crucial para muitos tipos de
aplicativos e tarefas. Em Python, o módulo
14.3. Manipulação de Data e Hora
datetime oferece ferramentas poderosas para
A manipulação de data e hora é crucial em
representar, manipular e formatar informações
várias áreas:
relacionadas a data e hora.
1. Agendamento e Calendários: Aplicações
Abaixo temos o conceito de cada um:
que envolvem agendamento de eventos,
Data é uma representação numérica de um reservas, lembretes e calendários
dia específico em um calendário. Normalmente, é precisam manipular datas e horários.
composta por dia, mês e ano. Por exemplo, 15 de 2. Análise de Dados Temporais: Muitas
agosto de 2023 é uma data. vezes, precisamos analisar e visualizar
dados que evoluem ao longo do tempo,
Hora refere-se a um ponto específico no como vendas diárias, tráfego de site por
tempo dentro de um dia. Ela é composta por hora, entre outros.
horas, minutos e segundos. Por exemplo, 14 3. Sistemas Financeiros: Aplicações
horas, 30 minutos e 0 segundos representam um financeiras dependem do cálculo preciso
horário específico durante o dia. de prazos de vencimento, taxas de juros e
outras operações relacionadas ao tempo.
A combinação de data e hora permite que 4. Computação Científica: Em áreas como
representemos momentos precisos no tempo. meteorologia, física e biologia, a
Isso é vital para agendamento, registro de manipulação de data e hora é crucial para
eventos, cálculos de duração e muitos outros análises e modelagem.
cenários.
Exemplos de manipulação na prática:

1. Representando Data e Hora

Exemplo de como criar objetos de data e


14.2. O módulo "datetime" em hora utilizando as classes fornecidas pelo módulo
"datetime".
Python

Python oferece o módulo datetime para


trabalhar com data e hora de forma eficiente. Ele
fornece classes que permitem a criação,
manipulação, formatação e conversão de objetos
de data e hora. Com o módulo datetime, você

45 de 53
data_atual.strftime('%d/%m/%Y %I:%M %p')
print("Formato Customizado:",
formato_customizado)
python

from datetime import datetime, date, time 4. Convertendo strings para data e hora
# Data e hora atuais
data_hora_atual = datetime.now()
Exemplo de como converter strings em
objetos de data e hora.
# Somente a data
data_atual = date.today()
python
# Somente o horário
hora_atual = datetime.time(datetime.now()) from datetime import datetime

print("Data e Hora Atuais:", data_string = "2023-08-15 14:30:00"


data_hora_atual) data_objeto = datetime.strptime(data_string,
print("Data Atual:", data_atual) '%Y-%m-%d %H:%M:%S')
print("Horário Atual:", hora_atual)
print("Data e Hora como Objeto:",
data_objeto)

2. Manipulando Data e Hora

Exemplo de como realizar operações de


cálculo e manipulação com objetos de data e
hora.

python 14.4. Exercícios opcionais


from datetime import datetime, timedelta
Exercício 1 - Calculando Idade a partir da
data_atual = datetime.now() Data de Nascimento
data_futura = data_atual + timedelta(days=7)
1. Abra seu ambiente Python (IDE ou
diferenca = data_futura - data_atual
print("Diferença:", diferenca)
terminal).
2. Crie um novo arquivo Python;
3. Comece a digitar o seguinte código, na
primeira linha: from datetime import
3. Formatando Data e Hora
datetime;
Exemplo de como formatar objetos de data e 4. Na segunda linha, o
hora em strings legíveis. seguinte: data_nascimento_str =
input("Digite sua data de nascimento (ano-
mês-dia): ")
python 5. Na terceira linha: data_nascimento =
datetime.strptime(data_nascimento_str,
from datetime import datetime
'%Y-%m-%d')
data_atual = datetime.now() 6. Na quarta linha: data_atual =
datetime.now()
# Formato padrão
7. Na quinta linha: idade = data_atual.year -
formato_padrao = data_atual.strftime('%Y-%m-
%d %H:%M:%S') data_nascimento.year -
print("Formato Padrão:", formato_padrao) ((data_atual.month, data_atual.day) <
(data_nascimento.month,
# Formato customizado
formato_customizado = data_nascimento.day))

46 de 53
8. Na sexta linha do código, digite o seguinte:
print("Sua idade é:", idade)
9. Execute o código e insira a data de
nascimento quando solicitado;
10. O programa calculará a idade com base na
data atual.
11. Confira o resultado abaixo.

anotações

Exercício 2 - Criando um relógio digital

1. Abra seu ambiente Python (IDE ou


terminal);
2. Crie um novo arquivo Python;
3. Comece a digitar o seguinte código, na
primeira linha: import time
4. Na segunda linha, digite o seguinte:
whileTrue:
5. Na terceira linha: hora_atual =
time.strftime('%H:%M:%S')
6. Na quarta linha: print("Hora atual:",
hora_atual)
7. Na quinta linha, digite o
seguinte: time.sleep(1)
8. Execute o código.
9. O programa exibirá a hora atual em
formato de relógio digital, atualizando a
cada segundo.
10. Confira o resultado abaixo.

47 de 53
Python Aula
15. Expressões regulares 15
15.1. O que são Expressões
Regulares? python

xpressões regulares (regex ou regexp) são Padrão: apple


E sequências de caracteres que definem
padrões de busca. Elas são usadas para encontrar,
substituir ou manipular partes específicas de Metacaracteres
strings com base nesses padrões.
Metacaracteres são caracteres com
significados especiais nas expressões regulares.

.: Corresponde a qualquer caractere,


exceto nova linha.
15.2. Aplicações das Expressões ^: Corresponde ao início de uma linha.
$: Corresponde ao final de uma linha.
Regulares *: Corresponde a zero ou mais ocorrências
do caractere anterior.
As expressões regulares são amplamente +: Corresponde a uma ou mais ocorrências
usadas para: do caractere anterior.
?: Corresponde a zero ou uma ocorrência
Validar formatos de entrada (e-mails,
do caractere anterior.
números de telefone, etc.).
\: Escapa o próximo caractere (usado para
Extrair informações específicas de um
tratar metacaracteres como literais).
texto.
Substituir ou formatar partes do texto.
Realizar buscas complexas em grandes
volumes de dados.

15.4. Utilizando Expressões


Regulares em Python

15.3. Sintaxe básica das Expressões Funções Principais do Módulo re


Regulares re.search(padrao, texto): Procura por um
padrão no texto.
Caracteres Literais re.match(padrao, texto): Verifica se o
padrão corresponde no início do texto.
Os caracteres literais são os próprios
re.findall(padrao, texto): Retorna todas as
caracteres que você deseja encontrar.
ocorrências do padrão no texto.
Exemplo re.sub(padrao, substituicao, texto):
Substitui ocorrências do padrão pelo texto
de substituição.

Exemplo:

48 de 53
13. Na décima quarta linha, digite o
seguinte: print("Senha inválida.")
python
14. Execute o código e insira a senha quando
import re solicitado.
15. O programa verificará se a senha atende
texto = "Python é uma linguagem poderosa e aos critérios especificados na expressão
Python é divertido de aprender."
regular.
padrao = r"Python" 16. Confira o resultado abaixo.
encontrado = re.search(padrao, texto)
print("Padrão encontrado:",
encontrado.group())

ocorrencias = re.findall(padrao, texto)


print("Ocorrências:", ocorrencias)

substituido = re.sub(padrao, "Java", texto)


print("Substituído:", substituido)

15.5. Exercício opcionais Exercício 2 - Extração de URLs de um texto

Exercício 1 - Validação de senhas 1. Abra seu ambiente Python (IDE ou


terminal).
1. Abra seu ambiente Python (IDE ou 2. Crie um novo arquivo Python;
terminal). 3. Comece a digitar o seguinte código, na
2. Crie um novo arquivo Python; primeira linha: import reimport re;
3. Comece a digitar o seguinte código, na 4. Na segunda linha, digite o seguinte: texto
primeira linha: import re = "Confira nossos produtos em
4. Na segunda linha, digite o https://www.exemplo.com/produtos e
seguinte: defvalidar_senha(senha):: faça suas compras online."
5. Na terceira linha, digite o seguinte: padrao 5. Na terceira linha, digite o seguinte: padrao
= r"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d] = r"https?://(?:[-\w.]|(?:%[\da-fA-F]{2}))+""
{8,}$" 6. Na quarta linha, digite o seguinte: urls =
6. Na quarta linha, digite o seguinte: if re.findall(padrao, texto)
re.match(padrao, senha): 7. Na quinta linha, digite o
7. Na sétima linha, digite o seguinte: print("URLs encontradas:")
seguinte: returnTrue 8. Na sexta linha, digite o seguinte: for url in
8. Na oitava linha, digite o urls:
seguinte: returnFalse 9. Na sétima linha, digite o seguinte:
9. Na nona linha, digite o seguinte: senha = print(url)
input("Digite uma senha: ") 10. Execute o código. O programa extrairá e
10. Na décima linha, digite o seguinte: if exibirá as URLs encontradas no texto de
validar_senha(senha): acordo com a expressão regular.
11. Na décima primeira linha, digite o 11. Confira o resultado abaixo.
seguinte: print("Senha válida.")
12. Na décima segunda linha, digite o
seguinte: else:

49 de 53
anotações

50 de 53
Python Aula
16. Projeto final 16
16.1. Guia do Projeto Final Criação de relatórios por categoria de
despesas e receitas.
projeto consiste em um programa que Uso de dicionários para agrupar dados
O permite ao usuário registrar despesas e relacionados.
receitas, calcular o saldo, gerar relatórios por Apresentação de informações ao usuário
categoria e exportar dados para um arquivo CSV. de forma organizada.
O projeto foi dividido em partes para facilitar o
entendimento e o desenvolvimento gradual.

16.5. Parte 4 - Finalização do Projeto

16.2. Parte 1 - Registro de despesas e Nesta parte final, discutimos:


Receitas Exportação de dados para um arquivo
CSV.
Nesta parte, utilizamos o seguinte Encerramento do programa de forma
conhecimento: controlada.
Revisão geral do projeto e
Uso de listas para armazenar dados.
funcionalidades.
Criação de funções para adicionar
despesas e receitas.
Interagindo com o usuário para obter
valores e registrar transações.

Conceitos abordados

Durante o desenvolvimento deste projeto,


exploramos os seguintes conceitos chave:
16.3. Parte 2 - Cálculo do Saldo e
Listas: Armazenamento e manipulação de
Categorias
conjuntos de dados.
Funções: Criação de blocos reutilizáveis
Nesta parte, exploramos:
de código.
Cálculo de saldo através da diferença Estruturas de Controle: Utilização de
entre receitas e despesas. loops e condicionais para controlar o fluxo
Utilização de categorias para classificar do programa.
transações. Interatividade: Interação com o usuário
Melhoria na interface com o usuário. através de entradas e saídas.
Dicionários: Organização de dados em
pares chave-valor para categorização.
16.4. Parte 3 - Geração de Relatórios Manipulação de Arquivos: Escrita de
dados em um arquivo CSV para
Nesta parte, abordamos: exportação.

51 de 53
Modularização: Divisão do código em 4. Crie a função listar_produtos() para exibir
partes para facilitar o desenvolvimento e a lista de produtos do estoque.
manutenção. 5. No corpo do programa, crie um loop
infinito usando while True.
6. Dentro do loop, exiba um menu com
opções para o usuário: adicionar produto,
listar produtos ou sair.
7. Se o usuário escolher "adicionar produto",
Conclusão
solicite o nome, quantidade e preço do
Este projeto de Controle Financeiro em produto usando a função input().
Python oferece uma base sólida para entender 8. Chame a função adicionar_produto(nome,
conceitos de programação e aplicá-los em um quantidade, preco) para adicionar o novo
cenário real. Com as habilidades adquiridas, você produto ao estoque.
pode personalizar e expandir o projeto para 9. Se o usuário escolher "listar produtos",
incluir mais funcionalidades, melhorias na chame a função listar_produtos() para
interface e até mesmo uma análise mais avançada exibir os produtos e suas informações.
dos dados financeiros. 10. Adicione uma opção no menu para vender
produtos.
O conhecimento obtido ao longo deste 11. Solicite ao usuário o nome do produto a
projeto pode ser aplicado em várias outras áreas ser vendido e a quantidade.
da programação, desde o desenvolvimento de 12. Implemente uma função
aplicativos até a automação de tarefas. vender_produto(nome, quantidade) que
Esperamos que este guia tenha sido útil para a atualize a quantidade em estoque do
compreensão dos conceitos abordados no produto escolhido.
projeto e inspire você a explorar ainda mais o 13. Adicione uma opção no menu para gerar
mundo da programação em Python. um relatório de estoque.
14. Implemente uma função gerar_relatorio()
que exiba a lista de produtos, suas
quantidades e preços.
15. Se o usuário escolher "sair", encerre o loop
infinito usando break.
16.6. Exercício opcional 16. Execute o programa e teste as diferentes
opções do menu.
O Nosso exercício opcional de hoje, é na 17. Confira o resultado abaixo:
verdade o desenvolvimento de um novo projeto,
neste caso, este projeto será voltado para o
controle de estoque de uma empresa.

1. Crie um arquivo chamado


controle_estoque.py para o projeto.
2. Defina uma lista vazia chamada estoque
para armazenar os produtos. Cada
produto será um dicionário contendo
informações como nome, quantidade e
preço.
3. Crie a função adicionar_produto(nome,
quantidade, preco) para adicionar um novo
produto ao estoque. Esta função deve
criar um dicionário para o produto e
adicioná-lo à lista estoque.

52 de 53

Você também pode gostar