Apostila Completa Python ID 590
Apostila Completa Python ID 590
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
1 de 53
Sumário
2 de 53
Python Aula
1. Iniciando no Python 1
1.1. Python 1.2. Um pouco de história
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
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.
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.
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
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
7 de 53
python
8 de 53
Python Aula
3. If, else e elif 3
3.1. Estrutura condicional If
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.")
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.
while condição:
# bloco de código a ser repetido python
enquanto a condição for verdadeira
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)
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
minha_lista = [1, 2, 3, 4, 5]
3. Adicionar elementos no final da lista:
python
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.")
16 de 53
Exercício 2 - Concatenar listas:
anotações
17 de 53
Python Aula
6. Strings 6
6.1. Strings incluem:
python
2. Indexação de caracteres: É possível
"Python é uma linguagem de programação acessar caracteres individuais de uma string
poderosa."
usando índices.
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:
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
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.
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.
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.
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.
25 de 53
Tratando erros em 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.
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.
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.
28 de 53
interação com o sistema operacional.
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
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
import datetime
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.
30 de 53
Exercício 2 - Criando um Módulo de
Manipulação de Strings:
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:
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)
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.
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.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'
python
if 'cidade' in pessoa:
print("Chave 'cidade' encontrada no
dicionário.")
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()
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
40 de 53
texto e verifique o número de palavras no
arquivo.
8. Observe o resultado abaixo:
anotações
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
42 de 53
1. NumPy
response =
python requests.get('https://api.exemplo.com/dados'
)
data = response.json()
import pandas as pd print(data)
:
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);
# 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;
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:
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
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
47 de 53
Python Aula
15. Expressões regulares 15
15.1. O que são Expressões
Regulares? python
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())
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.
Conceitos abordados
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.
52 de 53