Aula Python
Aula Python
Python
2
O que é Python?
3
O que é Python?
python --version
5
Instalando o Python
Site: [Link]
6
Instalando o Python
Site: [Link]
7
Instalando o Python
8
Instalando o IDE
9
Instalando o IDE
10
Instalando o IDE
11
Instalando o IDE
12
13
14
15
16
17
18
19
20
Tipos de variáveis
21
Variáveis
22
Variáveis
Variáveis
inteiro (int) números sem parte fracionária
float números com parte fracionária
string (str) texto
booleano (bool) representam verdadeiro ou falso
23
Variáveis
24
Tipo da variável
a = 9.5
b = "cachorro"
c = 8
print(type(a))
print(type(b))
print(type(c))
25
Usuário - input
● Comando input:
nome_da_variavel = input("Seu texto")
26
Usuário - input
27
Números
28
Números
num = 3.8E-2
print(num) 0.038
30
Strings
31
Strings
32
Strings
-9 -8 -7 -6 -5 -4 -3 -2 -1
G U I L H E R M E
0 1 2 3 4 5 6 7 8
nome = "GUILHERME"
print(nome[5])
33
Strings
● Reverter a string:
nome = "Guilherme Viriato"
print(nome[::-1])
34
Métodos em Strings
print(len(nome))
print([Link]())
35
Métodos em Strings
print([Link]())
print([Link]())
36
Métodos em Strings
print([Link]("Mariana", "Gabriela"))
print([Link]())
print([Link]("um"))
● endswith(): checa se a string termina com o sufixo determinado:
print([Link]("gres"))
38
Métodos em Strings
40
Métodos em Strings
● Exemplo 2: Utilize o input para que o usuário digite seu nome completo.
Em seguida, converta todas as letras para minúsculas. Ao final,
apresente o nome e o último sobrenome e seus respectivos tamanhos.
41
Métodos em Strings
● Exemplo 2:
nome_completo = input("Digite seu nome completo:
")
nome_completo =
nome_completo.lower().strip().split()
nome = nome_completo[0]
sobrenome = nome_completo[-1]
print("Nome:", nome)
print("Tamanho do nome:", len(nome))
print("Último sobrenome:", sobrenome)
print("Tamanho do sobrenome:", len(sobrenome)) 42
Pacotes
43
Instalando pacotes
44
Instalando pacotes
Instalação:
● Acesse o terminal;
● Instalar:
○ pip install nome_do_pacote
○ python -m pip install
○ python3 -m pip install
● Atualizar: pip install -U nome_do_pacote
● Desinstalar: pip uninstall nome_do_pacote
45
Utilizando os pacotes
import numpy as np
46
Operadores
47
Operadores aritméticos
49
Operadores aritméticos
n1 = float(input("Digite o primeiro número: "))
n2 = float(input("Digite o segundo número: "))
soma = n1 + n2
subtracao = n1 - n2
multiplicacao = n1*n2
divisao = n1/n2 Pular a linha: \n
modulo = n1%n2 print(f"Soma:
div_arredondada = n1//n2 {soma}\nSubtr
expoente = n1**n2 acao:
{subtracao}")
print("Resultados das operações aritméticas:")
print(f"Soma: {soma}")
print(f"Subtracao: {subtracao}")
print(f"Multiplicacao: {multiplicacao}")
print(f"Divisao: {divisao}")
print(f"Modulo: {modulo}")
print(f"Divisao Arredondada: {div_arredondada}")
print(f"Expoente: {expoente}")
50
Operadores aritméticos
51
Operadores de atribuição
x = 9
x += 3
print(x)
52
Operadores de Comparação
== Igual x == y
!= Não Igual x != y
and Retorna True se ambos os comandos são verdadeiros x < y and x < 10
not Reverte o resultado, retorna False se o resultado for True e not(x > 10)
vice-versa
55
Operadores Lógicos
n1 = 5
n2 = 8
n3 = 7
print(n1 < n2 and n1 < n3)
print(n1 == n2 or n3 == n2)
print(not (n1 > n2))
56
Operadores de Identidade
57
Operadores de Identidade
a = "python"
b = "python"
print(a is b) # True
print(a is not b) # False
58
Operadores de Membros
59
Operadores de Comparação
60
Precedência
Precedência
==, !=, <, <=, >, >=, is, is not Comparações, Identidade
+, - Adição, Subtração
62
Vetores
print(minha_lista[1][0])
64
Listas
L = ['L','i','n','g','u','a','g','e','m',' ','P','y','t','h','o','n']
● Fundamentos básicos:
print(len(L))
print(''.join(L))
print([Link]('g'))
65
Listas
Slicing:
● lista[inicio:parada] ->item de início até o item de parada - 1;
● lista[inicio:] -> item de início até o fim da lista;
● lista[:parada] -> itens do começo da lista até parada - 1;
● lista[:] -> cópia da lista inteira;
● lista[inicio:parada:passo] -> adiciona determinado número de passos
L = ['L','i','n','g','u','a','g','e','m',' ','P','y','t','h','o','n']
● append():
lista = [2, 4, "cachorro"]
[Link]("gato")
print(lista)
[Link](2, "bola")
67
Removendo itens a uma lista
68
Operações com listas
● sort() -> ordena os elementos de uma lista sem criar uma nova lista:
lista = [2, 1, 3, 6, 3, 7, 0]
[Link]()
print(lista)
● sorted() -> ordena uma lista e retorna uma lista ordenada, sem
modificar a lista original:
print(sorted(lista))
69
Operações com listas
● reverse():
[Link]()
print(lista)
print(sorted(lista, reverse=True))
70
Listas
71
Listas
● Exemplo 7:
nome = input("Nome: ")
idade = int(input("idade: "))
profissao = input("Profissao: ")
dados = []
[Link](nome)
[Link](idade) nome = input("Nome: ")
[Link](profissao) idade = int(input("idade: "))
print(dados) profissao = input("Profissao: ")
dados = [nome, idade, profissao]
print(dados)
72
Matrizes
● Uma matriz pode ser entendida como uma lista que contém vetores.
73
Matrizes
74
Tuplas
● São usadas para armazenar dados que não devem ser modificados.
75
Sets
● O set pode ser modificado, mas seus elementos são ser imutáveis;
● São definidos por valores separados por vírgula dentro de chaves {};
76
Operações com sets
[Link](5) print(set('paralelepipedo'))
Out: {8, 1, 47} Out: {'e', 'a', 'r', 'i', 'o',
'l', 'd', 'p'}
77
Dicionários
78
Dicionários
Chaves
● Devem ser únicas;
Valores
● Podem ser de qualquer tipo;
pessoa = {
"nome": "Maria",
"idade": 30,
"profissao": "Engenheira",
"hobbies": ["leitura", "viagem", "música"]
}
print(pessoa["nome"])
Out: Maria
print([Link]("nome"))
Out: Maria
80
Dicionários
[Link]({'nome':'Catarina'})
82
Dicionários
[Link]()
print(pessoa)
Out: {'nome': 'Catarina', 'idade': 65, 'profissao':
'Aposentada', 'hobbies': ['crochê', 'forro']}
83
Dicionários
[Link]()
print(pessoa)
Out:{}
84
Estruturas de controle
85
if… else
86
if… else
● Igualdade: x == y
88
if… else
if numero > 0:
print("Numero positivo")
if numero > 0:
print("Numero positivo")
else:
print("Numero negativo")
if numero > 0:
print("Numero positivo")
elif numero == 0:
print("Numero igual a 0")
else:
print("Numero negativo") 89
if… else
idade = 20
tem_carteira = True
nota = 7
frequencia = 80
91
if… else
● Exemplo 8:
Imagine que tem três informações sobre uma pessoa: sua idade, se ela
possui ingresso e se é VIP. A partir disso, queremos decidir se ela pode
entrar em um evento e de que forma.
Se a pessoa for maior de idade, tiver ingresso e for VIP, então sua entrada
VIP é liberada. Caso seja maior de idade e tenha ingresso, mas não seja VIP,
sua entrada comum é liberada. Se a pessoa não tiver ingresso, mas for VIP,
ela deve procurar atendimento especial. Em todos os outros casos, a
entrada é negada.
92
if… else
Sintaxe
for seq in sequencia:
print(seq)
94
For loops
95
For loops
Sintaxe
for seq in sequencia:
print(seq)
96
For loops
lista = [0, 1, 2, 3, 4]
for i in lista: ● O for percorre esses
print(i) valores;
Out:
0
● A cada repetição, imprime o
1
2 valor de i;
3
4
x = range(1, 10, 2)
print(list(x))
Out: [1, 3, 5, 7, 9]
for i in range(5):
print(i)
98
Condicionais no For
● Break -> permite parar o loop antes que passe por todos os itens:
● enumerate() -> usado para percorrer uma sequência com índice e valor
ao mesmo tempo:
for indice, valor in enumerate(sequencia):
● print(indice, valor)
Sintaxe
while <condição>:
<expressão>
<expressão>
...
103
While loops
104
While loops
105
While loops
● Break:
● Continue:
108
Funções
109
Funções
110
Características
● Possuem um nome;
111
Regras para definir uma função
Início:
● Palavra-chave def;
● Seguida do nome da função e parênteses ();
● Parâmetros (argumentos) ficam dentro de ();
● Usamos : ao final do cabeçalho.
Estrutura da Função:
● Pode conter docstring;
● Possui um corpo com instruções válidas;
● Deve respeitar a indentação. 112
Regras para definir uma função
Retorno
● Pode usar o comando return;
113
Regras para definir uma função
● minutos_para_horas(minutos):
def
"""Converte minutos para horas"""
return minutos / 60
tempo = 180
print(minutos_para_horas(tempo))
Out: 3.0
114
Regras para definir uma função
115
Funções
● minutos_para_horas(minutos):
def
"""Converte minutos para horas"""
hora = minutos/60
return hora
help(minutos_para_horas)
Out:
minutos_para_horas(minutos)
Converte minutos para horas
116
Parâmetros padrão em Funções
print(calcular_preco.__doc__)
118
Funções anônimas
f = lambda x: x - x
Objeto função
Palavra-chave
Argumento
Expressão de uma linha
120
Funções anônimas
Sintaxe
lambda argumento1, argumento2, argumento3: expressão
quadrado = lambda x: x ** 2
print(quadrado(5))
multiplicar = lambda a, b: a * b
print(multiplicar(4, 5))
print(nomes_com_a)
numeros = [5, 2, 9, 1, 7]
[Link](key=lambda x: x)
print(numeros)
123
Gerador de funções
● def + lambda:
Out: 121
124
Exercícios de fixação
125
Exercício 1 Exercício 2
i = 5 a = ["a", "b", "c", "d"]
while i > 0: for b in a:
print (i) print (b)
i = i - 1
Exercício 3
a = "123"
print a+"1"
print a[1]
print a[-1]
print a[:1]
126
Exercício 4
a = [3, 2, 4, 1]
ok = 0
while ok == 0:
ok = 1
for i in range(1, len(a)):
if a[i-1] > a[i]:
a[i-1], a[i] = a[i], a[i-1]
ok = 0
print a
Exercício 5
lista = [[1, "CAFE", 10], [2, "CHA ", 5], [3, "AGUA",
15]]
total = 0
print ("Item Qtd em estoque")
for a in lista:
print (a[1]+" "+str(a[2]))
total = total + a[2]
print ("Total de itens em estoque: " + str(total ))
127
Exercício 6
# Exemplo de recursividade
def recursivo(x):
if x == 0:
return 0
else:return x +
recursivo(x-1)
y = recursivo (10)
print (y)
Exercício 7
def divide(x, lista ):
val = 0
if len(lista) > 1:
val = lista [-1]
y = x - val
print (y)
divide(x - val , lista [: -1])
return (y)
else:
return (0)
valores = [2, 3, 5]
divide (10, valores) 128
Exercícios de implementação
129
Leitura de arquivos com Pandas
Exercício 9
Defina uma lista de pontos 2D e implemente uma função ”distancia(lista, i0, i1)” que
retorne a distância entre dois pontos.
A distância entre dois pontos (x1, y1) e (x2, y2) é dada pela fórmula:
d = sqrt((x2 - x1)² + (y2 - y1)²)
130
Leitura de arquivos com Pandas
Exercício 10
Crie uma função ”obtem_tamanho(lista)”, que recebe uma lista [1,4,2], e retorna:
d(0,1) + d(1,4) + d(4,2) + d(2,0)
Exercício 11
Crie um script que lê do teclado uma lista e escreve o tamanho da rota
correspondente.
131