0% acharam este documento útil (0 voto)
9 visualizações

Programação Python

O documento apresenta uma introdução à programação em Python, incluindo sua definição, histórico, características e áreas de aplicação. Ele aborda conceitos fundamentais como lógica de programação, algoritmos, estruturas condicionais e de repetição, além de manipulação de listas e strings. O texto também inclui exemplos práticos de código e exercícios para reforçar o aprendizado.

Enviado por

Thiago Barbosa
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)
9 visualizações

Programação Python

O documento apresenta uma introdução à programação em Python, incluindo sua definição, histórico, características e áreas de aplicação. Ele aborda conceitos fundamentais como lógica de programação, algoritmos, estruturas condicionais e de repetição, além de manipulação de listas e strings. O texto também inclui exemplos práticos de código e exercícios para reforçar o aprendizado.

Enviado por

Thiago Barbosa
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/ 103

PROGRAMAÇÃO

EM PYTHON
CONCEITO

● Linguagem de Programação é uma linguagem escrita e formal que


especifica um conjunto de instruções e regras usadas para gerar
programas (software).

● Existem várias linguagens e elas servem para muitos propósitos. Alguns


óbvios, como criar um software, outros menos, como controlar um carro
ou uma torradeira.

● Programar, na prática, é escrever um texto que contém uma sequência


de instruções e que será transformado em um software. Esse texto deve
ser escrito em uma linguagem de programação e é chamado de código.
UM POUCO DE HISTÓRIA

• Guido Van Rossum criou o Python em 1989

• Muitas pessoas costumam pensar que o nome Python tem origem em um tipo
de cobra

• Na década de 1970, a BBC tinha um programa de TV popular do qual van


Rossum era um grande fã chamado Fly Circus de Monty Python

• Assim, quando desenvolveu a linguagem, ele pensou que precisava de um


nome que fosse curto, único e um pouco misterioso, e por algum motivo que só
ele conhecia, decidiu chamar o projeto de "Python".
CARACTERÍSTICAS DO PYTHON

• Multiplataforma: Apresenta versões para diversos


sistemas operacionais, sendo mantida pelaPython
Software Foundation (PSF).

• Multiparadigma: É possível programar com base


em diferentes estilos de programação (orientada
a objetos, funcional, procedural etc.).

• Linguagem interpretada: não gera arquivos


executáveis
Para que serve? Áreas de aplicação do Python

Ciência de dados Automações Desenvolvimento web


Diferenciais do Python

• Gratuidade: o sistema Python tem licença de uso público. Pode ser instalada,
utilizada e desenvolver gratuitamente.

• Portátil, multiplataforma e extensível: O Python roda em diversos sistemas


operacionais. Além disso, possui propriedades extensíveis, com mais de 100
mil bibliotecas.

• Simplicidade e fácil aprendizado: A curva de aprendizado é relativamente


baixa. A linguagem tem uma sintaxe acessível e foi criada para proporcionar
agilidade e produtividade ao usuário. Por isso, é de fácil absorção.
Lógica de
Programação
INTRODUÇÃO

● Sempre que decidimos fazer qualquer atividade em nosso dia a dia, acabamos
seguindo uma sequência lógica

● Cada pessoa define uma sequência de passos para fazer por exemplo um bolo,
podendo incluir ou remover alguns já definidos. Essa lógica é aplicada a qualquer
coisa que fazemos diariamente e muitas das vezes não nos damos conta.

● A seguir mostraremos um exemplo com uma receita de bolo


EXEMPLO
1. Selecionar os ingredientes da receita;
2. Selecionar tigela;
3. Colocar farinha, de acordo com a medida;
4. Selecionar ovos;
5. Colocar manteiga e açúcar a gosto;
6. Colocar leite;
7. Misturar todos os ingredientes na tigela;
8. Despejar a massa na forma;
9. Levar ao forno;
10. Aguardar 40 minutos;
11. Retirar do forno;
12. Servir o bolo.
• Em atividades rotineiras, não costumamos prestar
atenção quando seguimos uma mesma ordem para
executar tarefas. Porém, quando o assunto é
programar, definir as etapas do que deve ser feito
assume uma grande importância

• Precisamos deixar bem claro a sequência que deve ser


seguida para atingir o resultado esperado. A esse
encadeamento lógico na programação, chamamos de
Lógica de Programação, e a descrição de como fazer,
definimos como Algoritmos.
ALGORITIMO

• No desenvolvimento de um algoritmo, devemos definir com clareza e forma precisa o


conjunto de regras ou instruções que serão utilizadas para resolver aquele problema
em específico.

• Portanto, antes de programar, precisamos saber o que deve ser feito e planejar o passo
a passo, ou seja, criar o algoritmo e avaliar se o resultado obtido é a solução esperada

• Para mostrar as formas de representar um algoritmo, vamos usar como exemplo um


algoritmo de cálculo da média:
CÁLCULO DE MÉDIA

1. Obter a nota do 1º bimestre;


2. Obter a nota do 2º bimestre;
3. Obter a nota do 3º bimestre;
4. Realizar o cálculo da média para cada
aluno (maior ou igual a 7 para aprovação);
5. Informar se o aluno foi “aprovado, na
final ou reprovado”;
6. Informar a média obtida pelo aluno.
Pseudo-linguagem
LER Nota1
LER Nota2
LER Nota3
media = (Nota1+Nota2+Nota3)/3
SE media >= 7:
IMPRIME “Aprovado”
SE SENÂO media<7 e media>=5:
IMPRIME “Aluno na final”
SENÃO:
IMPRIME “Reprovado”
IMPRIME o valor da média
CÓDIGO EM PYTHON
nota1= int(input(“Digite a 1° nota: ”))
nota2= int(input(“Digite a 2° nota: ”))
nota3= int(input(“Digite a 3° nota: ”))
media=(nota1+nota2+nota3)/3
If media >=7:
print(“Aprovado”)
elif media <7 and media>=5:
print(“Aluno na final”)
else:
print(“Reprovado”)
print(media)
ESTRUTURA CONDICIONAL
• Quando programamos, muitas vezes precisamos que determinado bloco de
código seja executado apenas se uma determinada condição for
verdadeira.

• O if é uma estrutura de condição que permite avaliar uma expressão e, de


acordo com seu resultado, executar uma determinada ação, como
mostrado anteriormente na linha 5

• Vimos como utilizar o if para executar uma ação caso uma condição seja
atendida. No entanto, nenhum comportamento específico foi definido para
o caso de a condição não ser satisfeita. Quando isso é necessário,
precisamos utilizar a reservada else, mostrado na linha 9.

• Adicionalmente, se existir mais de uma condição alternativa que precisa ser


verificada, devemos utilizar o elif para avaliar as expressões intermediárias
antes de usar o else, mostrado na linha 7.
OPERADORES RELACIONAIS E LÓGICOS

or OU lógico
and E lógico
not Negação
== Igual a
!= Diferente
>= Maior ou igual
> Maior que
< Menor que
<= Maior ou igual
SITE PARA TREINAR

https://replit.com/languages/python
ATIVIDADE

Faça um programa para calcular o IMC


E no final mostrar se a pessoa está:
Abaixo do peso
Normal
Acima do peso
Obesidade
• As linguagens de programação normalmente suportam
tanto estruturas condicionais como também os
chamados laços de repetição, estruturas que permitem a
execução de instruções repetidas vezes, até que uma
condição seja atingida.

• O Python contém dois tipos de estruturas de repetição:


for e while.

• O primeiro nos permite percorrer os itens de uma


coleção e, para cada um deles, executar um bloco de
código. Já o while, executa um conjunto de instruções
várias vezes enquanto uma condição é atendida.
FOR
O for é usado quando se quer iterar
sobre um bloco de código um número
determinado de vezes.

for n in range(0,3,1):
print(n)

A saida será:
0
1
2
WHILE

● O while é usado quando queremos que o bloco de código seja repetido até que uma
condição seja satisfeita. Ou seja, é necessário que uma expressão booliana dada seja
verdadeira. Assim que ela se tornar falsa, o while para.

● Para auxiliar ambas as estruturas de repetição, existem dois comandos:

○ break: É usado para sair de um loop, não importando o estado em que se


encontra.
○ continue: Funciona de maneira parecida com a do break, porém no lugar de
encerrar o loop, ele faz com que todo o código que esteja abaixo (porém ainda
dentro do loop) seja ignorado e avança para a próxima iteração.
WHILE
n=0
while n < 3:
print(n)
n += 1

A saida será:
0
1
2
WHILE
n=0
while True:
print(n)
if n>=2:
break
n+=1

A saida será:
0
1
2
VAMOS TREINAR!
www.thehuxley.com
- 100 primeiros números naturais
- Entregando correspondências
• Durante o desenvolvimento de software,
independentemente de plataforma e linguagem, é
comum a necessidade de lidar com listas. Por
exemplo, elas podem ser empregadas para armazenar
contatos telefônicos, tarefas, Itens.

• Uma lista é uma estrutura de dados composta por


itens organizados de forma linear, na qual cada um
pode ser acessado a partir de um índice, que
representa sua posição na coleção (iniciando em zero).
CRIANDO LISTAS

● Em Python, uma lista é representada como uma sequência de


objetos separados por vírgula e dentro de colchetes []

lista = []
lista = ['O carro','peixe',123,111]
OPERADORES DE LISTA

print(lista[0])
Saida: O carro

print(lista[2])
Saida: 123
VERIFICANDO A EXISTÊNCIA DE ITENS EM UMA LISTA

lista=["peixe",2,"gato"]
print("peixe" in lista)

Saida: True
ADICIONANDO E REMOVENDO ITENS DA LISTA
lista=[“Python”,”Java”,”C”,”JavaScript”]
lista.append(“Android”)
#adiciona um elemento no final da lista
lista.insert(0,”Google”)
#adiciona um elemento em uma posição especifica
lista.remove(“Java”)
#remove a primeira ocorrência do item passado
como parâmetro
del lista[0] #deleta o item da posição 0
del lista[1:4] #deleta os itens da posição 1 a 3
del lista[:3] #deleta os itens do começo da lista até
a posição 2
del lista[:] #deleta a lista inteira
MAIS MÉTODOS DAS LISTAS
len(lista) #tamanho
min(lista) #valor mínimo
max(lista) #valor máximo
sum(lista) #soma dos valores
lista.sort() #ordena a lista
lista.reverse() #inverte a lista
lista.count(“Python”) #retorna o número de
ocorrências de determinado objeto
lista.index(“Python”) #retorna a posição do
elemento em uma lista
EXERCÍCIOS
1. Quantas vezes x apareceu?
2. Lista (selecione “múltipla escolha”
e faça os exercícios)
MANIPULAÇÃO E FORMATAÇÃO DE STRINGS
MANIPULAÇÃO DE STRINGS
S = "Olá, mundo!“

print(type(S)) #Tipo da variável


A= S.split(“ “)
#separa a string pelo parâmetro escolhido
B= list(S)
#separa todos os caracteres em uma lista
string2 = S.replace("mundo", "abacate“,1)
# Substitui uma substring por alguma outra coisa.

print(S.startswith("Olá"))
# A string começa com "Olá"?
print(S.endswith("mundo"))
# A string termina com "mundo"?
CONVERTER MAIÚSCULAS E MINÚSCULAS
s = "ordem e progresso“

print(s.capitalize())
#transformar a primeira letra da primeira palavra
em maiúscula

print(s.upper())
#transforma a frase toda em maiúscula

print(s.lower())
#transforma a frase toda em minúscula
PERCORRER UMA STRING
[início:fim:salto]

Início é o primeiro índice a ser considerado


Fim é o último índice a ser considerado
Salto indica quantos caracteres devem ser saltados em
cada etapa (o valor 1 é considerado por padrão, e um
sinal de menos deve ser usado para percorrer a string em
ordem reversa).

print(s[0]) #pegar a letra da posição 0


print(s[-1]) #pegar a ultima letra
print(s[1:3]) #pegar uma fatia da string
print(s[::2]) # Imprime os caracteres nos índices pares
print(s[1::2]) # Imprime os caracteres nos índices ímpares
print(s[::-1]) #Inverte a frase
FORMATAÇÃO
string = "Olá, mundo!“
# Concatenação
print("Meu Brasil " + "brasileiro")
print(string + ” Bem vindo.”)

# Forma mais avançada, utilizando o format


print(“Vai entrar um texto {}.”.format('aqui’))
print(“Controlando {2} {1}{0}”.format('!', 'ordem',
'a’))

# Formatando com variáveis e quebra de linha


print(“Primeiro: {a}; \n Segundo: {b}; \n Terceiro:
{c}”.format(a=1, b=2, c=12.3))
LIDANDO COM NÚMEROS
num = 13.744

print(“2 casas decimais: %.2f” % num)

print(“0 casas decimais: %.0f (observe o


arredondamento)” % num)

print(“2 casas decimais:{:.2f}”.format(num))


EXERCICÍO
1. String (múltipla escolha)
2. Contar palavras
3. Contar um caracter na string
DEFINIÇÃO

Na programação, funções são blocos de código que realizam


determinadas tarefas que normalmente precisam ser executadas diversas
vezes dentro de uma aplicação. Quando surge essa necessidade, para que
várias instruções não precisem ser repetidas, elas são agrupadas em uma
função, à qual poderá ser chamada/executada em diferentes partes do
programa, quantas vezes quiser.
CRIANDO FUNÇÕES
def hello(nome):
print(“Olá, {}, bom dia!”.format(meu_nome))

hello(“João”)

# def = palavra reservada pra criação da função


# hello = nome da função
# nome = parâmetro da função

______________________________________
Saida:
Olá, João, bom dia!
CRIANDO FUNÇÕES
#Caso seja necessário, também é possível
definir funções com nenhum ou vários
parâmetros

def hello(nome,idade):
print(“Olá {} \n Sua idade é: {}
anos”.format(nome,idade))

hello('Fabio',28)
_____________________________________
Saida:
Olá Fabio
Sua idade é: 28 anos
RETORNANDO VALORES
• Assim como podem receber valores de entrada, as
funções também podem produzir valores de saída,
provenientes de determinadas operações.

• Nos exemplos anteriores, apenas imprimimos um


valor com a função print, sem retornar
explicitamente um resultado.

• A seguir, temos uma função que faz o cálculo do


salário e retorna o valor a ser pago conforme o
número de horas trabalhadas.
UTILIZANDO RETURN
def calcular_pagamento(horas, taxa):
if horas <= 20:
salario = horas*taxa
else:
salario = horas*(taxa*2)
return salario

n_horas= float(input(“Digite as horas: “))


v_taxa= float(input(“Digite a taxa: “))
total_salario =
calcular_pagamento(n_horas,v_taxa)
print(“O valor de seus rendimentos é R$
{}”.format(total_salario))
EXERCÍCIO
1. Funções (múltipla escolha)
2. Escola de Música
Depurar códigos Python
usando o Pycharm

print(“Escrever programas no python é muito fácil e


simples. Descobrir erros nesses programas também é!”)
DEBUGANDO O PRIMEIRO CÓDIGO

● Podemos usar o depurador PyCharm


para ver exatamente o que está
acontecendo em nosso código.
● Para iniciar a depuração, você precisa
definir alguns pontos de interrupção
primeiro.
● Para criar pontos de interrupção,
basta clicar na lateral, ao lado dos
números, criando bolas vermelhas
em cada linha
Em seguida basta clicar no símbolo do
inseto para depurar o código
DEPURAÇÃO EM DETALHES

A janela da ferramenta Depurar mostra painéis


dedicados para quadros, variáveis e inspeções,
e o console, onde todas as informações de
entrada e saída são exibidas
• Clique no botão “Step Over” para que
o marcador de mova para próxima
linha de código, e assim ir analisando
tudo que acontece no seu programa
IMPORT PACKAGE
Para importar um módulo utilizamos o
import.

import math
print(math.sqrt(25))

O código acima importará todos os


módulos de math, para importar apenas o
necessário utilizamos from.
FROM PACKAGE IMPORT ITEM
O código abaixo importará o módulo sqrt
do pacote math.

from math import sqrt


print(sqrt(25))
FROM PACKAGE IMPORT *
No terminal, para diminuir a digitação, costuma-se
importar todas as funções de math de uma só vez,
dessa forma:

from math import *


print(sqrt(25))
Site com a lista de funções math

https://docs.python.org/3/library/
math.html
EXERCÍCIO
Escreva um programa que leia um
número do teclado e mostre na tela:
- O fatorial do número
- A raiz quadrada
- O cosseno
RANDOM:
GERANDO NÚMEROS
PSEUDO ALEATÓRIOS!
GERANDO UM NÚMERO
INTEIRO ALEATÓRIO
ENTRE UM INTERVALO
import random

print(random.randint(2, 10))

#O resultado é um numero aleatório entre


2 e 10
Gerando um elemento
aleatório a partir de
uma sequência
import random

lista_nomes=['Maria', 'João', 'Pedro', 'Cláudia']


print(random.choice(lista_nomes))

#O resultado é um nome aleatório da lista


EXERCÍCIO

Escreva um programa para tentar


adivinhar a idade de alguém, e dizer
como ela está.
Exemplo de saída:
“Fulano tem 50 anos, está na flor da
idade!”
INTRODUÇÃO

Os dicionários são uma coleção que guarda valores para cada índice, que consiste em chaves e
valores correspondentes, quase como uma associação entre dois conjuntos. É também uma
coleção ordenada, mutável, indexada e que não possibilita a inserção de elementos repetidos.
Diferentemente de uma lista encadeada, que guarda apenas um valor por vez

Seus elementos contém uma chave e valor, isto é:

● Uma chave que vai servir para indexar (posicionar) determinado elemento no dicionário.

● Um valor que aceita diversos tipos: listas, outros dicionários, inteiros, strings e etc.
CRIANDO DICIONÁRIOS
#Sua sintaxe básica é: {'chave': 'valor'}. Utiliza-se
{} para delimitar o dicionário e a chave é
separada do valor por dois pontos :

dicio= {'primeiro': 1, 'segundo': 2, 'terceiro': 3}

#Também podemos utilizar a função dict do


próprio Python

dicio2 = dict(primeiro=1, segundo=2, terceiro=3)


ACESSANDO ITENS
pessoa = {'nome': 'Pythonico', 'altura': 1.65, 'idade':
21}

print(pessoa['nome’])

#Usando o método GET


print(pessoa.get('nome’))

#Uma coisa interessante sobre esse método é que


você pode definir um valor default, para o caso da
chave não ser encontrada

print(pessoa.get('peso', 'Chave não encontrada'))


OBTENDO CHAVES E VALORES
#Se você deseja obter todas as chaves de um
dicionário, use o método keys():

computador = {'CPU': 'Intel', 'RAM': '8gb',


'SSD': '250bg'}
print(computador.keys())

#Para obter apenas os valores das chaves em


seu dicionário:

print(computador.values())
PERCORRENDO O DICIONÁRIO

notas = {'Mat': 5, 'Por': 7, 'His': 8}

for valor in notas.keys():


print(“Chave:{}:{}".format(valor,notas.get(valo
r)))
ADICIONANDO E
ATUALIZANDO ITENS
dicio = {'nome': 'Erick'}

dicio['idade'] = 20

#Utilizando o método update()


dicio.update({'nome':'Matheus'})

# Cria os elementos de chave 'idade' e 'tamanho'


dicio.update({'idade':18})
dicio.update(tamanho=1.60)
EXCLUINDO ELEMENTOS
NO DICIONÁRIO
pessoa = {'nome': 'Matheus', 'idade': 18,
'tamanho': 1.60}

del pessoa['tamanho’]

#O método pop() remove o item cujo a


chave foi especificada e retorna

valor = pessoa.pop(‘nome')
LIMPANDO E COPIANDO
UM DICIONÁRIO
dicio = {'nome': 'F9', 'motor': 'v8', 'ano': 2019}

#Copiando um dicionário com o método copy()


copia = dicio.copy()

#Uma maneira de esvaziar um dicionário é


utilizando o método clear()
dicio.clear()
EXERCÍCIO
THE HUXLEY

1. Mercearia do Ambrósio
CONCEITO
• Recursividade é uma técnica de programação em que uma
função chama a si mesma para resolver um problema. Em
Python, é possível criar funções recursivas simplesmente
chamando a função dentro dela mesma.

• Na prática, uma função recursiva separa o problema em


partes, e resolve cada parte chamando uma cópia de si
mesma.

• Devido a essa característica, é importante definir um


parâmetro de parada para evitar o programa entre em um
loop infinito de chamadas recursivas.
EXEMPLO SIMPLES
#Podemos elaborar uma função recursiva que
faça uma contagem a partir de um valor inicial i

import time

def contador(i):
print(i)
time.sleep(1)
if i < 10:
contador(i + 1)

contador(0)
CÁLCULO DE FATORIAL

• No exemplo anterior criamos uma função recursiva que não retorna nada.

• Muitas vezes, a vantagem da recursividade é justamente poder utilizar o


retorno da função recursivamente.

• Um dos exemplos mais clássicos de funções recursivas é a função que retorna o


fatorial de um número inteiro.

• O fatorial de um número é o produto de todos os inteiros de 1 a esse número.


Por exemplo, o fatorial de 8 (indicado como 8!, ler se “oito fatorial”)
1 * 2 * 3 * 4 * 5 * 6 * 7* 8 = 40320.
EXEMPLO INTERMEDIÁRIO

def fatorial(x):
if x == 1:
return 1
else:
return x * fatorial(x - 1)

print(fatorial(8))
EXERCÍCIO
THE HUXLEY

1. Brincando com Fibonacci


2. Superdígito
INTRODUÇÃO

• Anteriormente aprendemos como usar os módulos e


pacotes, importando o Math e Random em nossos
programas, agora aprenderemos a fazer nossos próprios.

• Em Python, os módulos são arquivos Python que contêm


definições de funções, classes e variáveis que podem ser
reutilizados em outros programas Python. Os pacotes são
diretórios que contêm um ou mais módulos e um arquivo
init.py que é executado quando o pacote é importado.
MODULARIZAÇÃO

● Surgiu no inicio da década de 60


● Sistemas cada vez maiores
○ Quando um programa existe muitas funções, funcionalidades. Colocar tudo
dentro do mesmo arquivo, dificulta muito a leitura, entendimento e
manutenção desse sistema.
● Foco: dividir um programa grande
○ Separar as funcionalidades do programa em pequenos módulos
● Foco: Aumentar a legibilidade
● Foco: Manutenção do sistema
Passo 1: Criar uma nova pasta (Diretório)
Passo 2: Criar um arquivo .py e escrever o programa

def fatorial(x):
if x == 1:
return 1
else:
return x * fatorial(x - 1)

def dobro(x):
return x * 2

def triplo(x):
return x * 3

num = int(input("Digite um valor: "))


fat= fatorial(num)
print("o fatorial de {} é {}".format(num,fat))
print("O dobro de {} é {}".format(num,dobro(num)))
Como o código está ficando
relativamente grande, vamos
pegar as funções e coloca-las
em outro arquivo .py
Passo 3: separar as funções
Passo 4: importar as funções
VANTAGENS

● Organização do código
○ Separa um problema maior, em problemas menores
● Facilita a manutenção
○ Caso alguma função apresente problema ou você queria reimplementar,
todos os projetos que usem a função, automaticamente são atualizadas
com a nova versão
● Ocultação do código detalhado
● Reutilização em outros projetos
PACOTES OU BIBLIOTECAS

• A modularização nos ajuda até certo ponto, quando as funções dos módulos vão
ficando grandes demais, o mesmo problema volta a acontecer.

• Faz necessário então separar esses módulos em pequenos módulos e por


assunto, criando assim um pacote

• Em Python, pacotes são diretórios especiais que contêm módulos Python


relacionados entre si. Eles são usados ​para organizar e estruturar grandes
projetos de software em vários arquivos, tornando-os mais fáceis de gerenciar e
manter.
CONCEITO

● Um pacote Python é um diretório que contém um arquivo especial chamado


init.py, que é executado quando o pacote é importado. O arquivo init.py
geralmente contém código de inicialização que é executado quando o pacote é
importado e pode conter definições de variáveis, classes e funções que são
usadas pelos módulos do pacote.

● Para acessar as definições no pacote, você pode importá-las usando a sintaxe de


importação. Por exemplo, se você tiver um pacote chamado "meu_pacote" que
contém um módulo chamado "meu_modulo" e uma função chamada
"minha_funcao“
○ From meu_pacote import meu_modulo
EXEMPLO

• Separamos o modulo
“uteis” em vários módulos
e por assunto, criando
assim um pacote
CRIANDO UM PACOTE
EXERCÍCIO
1. Crie um módulo chamado moeda.py que
tenha as funções incorporadas aumentar(),
diminuir(), dobro() e metade().
2. Faça também um programa que importe
esse módulo e use algumas dessas funções
EXERCÍCIO
1. Crie um pacote chamado utilidades,
que tenha dois módulos internos,
chamados de moeda e dado.
2. Transfira todas as funções utilizadas
anteriormente para o primeiro pacote
INTRODUÇÃO
• Em Python, o tratamento de erros e exceções é uma
técnica utilizada para lidar com possíveis falhas que
podem ocorrer durante a execução de um programa.
Essas falhas podem ser causadas por erros de digitação,
arquivos que não existem, conexões de rede perdidas,
entre outras situações.

• Para lidar com esses erros e exceções, Python fornece


uma estrutura de tratamento de exceções que permite
que o programa capture e lide com esses problemas de
forma adequada, sem interromper a execução do
programa de maneira abrupta.
ERROS DE SINTAXE X ERROS DE SEMÂNTICA
• Erros de sintaxe são causados por erros de digitação ou formatação do código-fonte e
ocorrem quando o interpretador do Python não consegue compilar o programa. Alguns
exemplos de erros de sintaxe incluem o uso incorreto de palavras-chave, a falta de
parênteses ou colchetes, a falta de dois pontos após uma declaração de função, entre
outros.

• Por outro lado, erros de semântica ocorrem quando o programa é compilado sem erros,
mas o comportamento do programa não é o esperado. Por exemplo, um erro de
semântica pode ocorrer quando o programador utiliza uma variável que não foi
inicializada ou quando o programa tenta realizar uma operação matemática com tipos
de dados incompatíveis. Os erros de semântica são geralmente mais difíceis de detectar
e corrigir do que os erros de sintaxe, além disso, os erros de semântica podem não gerar
uma mensagem de erro imediata
TRY E EXCEPT
O bloco try contém o código que pode gerar uma
exceção, enquanto o bloco except contém o código
que será executado caso ocorra uma exceção.

try:
num1 = int(input("Digite um número: "))
num2 = int(input("Digite outro número: "))
resultado = num1 / num2

except :
print(“Infelizmente tivemos um problema!")
ELSE E FINALLY
O bloco else é opcional e é executado apenas se
nenhuma exceção for gerada. O bloco finally é
opcional e é executado sempre, independentemente
de ocorrer uma exceção ou não.
try:
num1 = int(input("Digite um número: "))
num2 = int(input("Digite outro número: "))
resultado = num1 / num2
except :
print(“Infelizmente tivemos um problema!")
else:
print("O resultado é: ", resultado)
finally:
print(“Volte sempre, obrigado!“)
ESPECIFICANDO O ERRO
try:
num1 = int(input("Digite um número: "))
num2 = int(input("Digite outro número: "))
resultado = num1 / num2

except Exception as erro:


print(“O erro encontrado foi :”, erro.__class__)
else:
print("O resultado é: ", resultado)
finally:
print(“Volte sempre, obrigado!“)
MENSAGEM PERSONALIZADA
try:
num1 = int(input( "Digite um número: " ))
num2 = int(input( "Digite outro número: " ))
resultado = num1 / num2
except (ValueError,TypeError):
print( "Tivemos problema com o tipo de dados
que você digitou“ )
except ZeroDivisionError:
print( "Não é possivel dividir um número por zero!“ )
except KeyboardInterrupt:
print( "O usuario não informou os dados!“ )
else:
print( "O resultado é: “ , resultado)
finally:
print( "Volte sempre, obrigado!“ )
EXERCÍCIO
Crie um módulo que tenha a função
leiaInt() e leiaFloat(), para ler um valor
numérico e printar na tela, caso não seja
um número, gere uma exceção
OBRIGADO!
Parabéns pelo término do curso de Python!
Continue aprendendo e progredindo em sua jornada de
programação. Obrigado por ter confiado em nós como
seu guia. Sucesso!

CREDITS: This presentation template was created by


Slidesgo, incluiding icons by Flaticon, and infographics
& images by Freepik.

Você também pode gostar