Quem sou eu?
● Bacharelanda de Ciência da
Computação - UFPI
● Desenvolvedora Full Stack -
Quiploy
● Técnica em Desenvolvimento de
Software - IFPI
● Líder técnica e desenvolvedora no
projeto Open Source -
Colaboradados
Slide 3
Slide 3 text
Como me encontrar?
[email protected]
@anapauladsmendes
/anapaulamendes
@ananoterminal
Slide 4
Slide 4 text
Zen do Python, por Tim Peters
Slide 5
Slide 5 text
Bonito é melhor que feio.
Explícito é melhor que implícito.
Simples é melhor que complexo.
Complexo é melhor que complicado.
Linear é melhor do que aninhado.
Esparso é melhor que denso.
Legibilidade conta.
Casos especiais não são especiais o bastante para quebrar as
regras.
Ainda que praticidade vença a pureza.
Erros nunca devem passar silenciosamente.
A menos que sejam explicitamente silenciados.
Diante da ambiguidade, recuse a tentação de adivinhar.
Deveria haver um — e preferencialmente só um — modo
óbvio para fazer algo.
Embora esse modo possa não ser óbvio a princípio a menos
que você seja holandês.
Agora é melhor que nunca.
Embora nunca frequentemente seja melhor que já.
Se a implementação é difícil de explicar, é uma má idéia.
Se a implementação é fácil de explicar, pode ser uma boa
idéia.
Namespaces são uma grande ideia — vamos ter mais dessas!
Slide 6
Slide 6 text
Vamos aos conceitos
Slide 7
Slide 7 text
A linguagem de programação Python
➔ Criada pelo Guido Van Rossum;
➔ Open Source;
➔ Desenvolvimento Web;
➔ Ciência de Dados;
➔ Linguagem de alto nível;
➔ Interpretada;
Slide 8
Slide 8 text
Interpretadores x Compiladores
Slide 9
Slide 9 text
Depuração
É encontrar e corrigir erros no programa. Também conhecido como
debugging.
Embora possa ser frustrante, depurar é uma das partes intelectualmente
mais ricas, desafiadoras e interessantes da programação.
Slide 10
Slide 10 text
Erros
Slide 11
Slide 11 text
De Sintaxe
Se refere à estrutura de um programa e as regras sobre essa estrutura.
Slide 12
Slide 12 text
De Semântica
Se refere a lógica do programa.
Slide 13
Slide 13 text
De Execução
Também conhecido como runtime errors ou exceções e só aparecem
quando executa o programa.
Slide 14
Slide 14 text
Variáveis e tipos de dados
➔ int
➔ float
➔ str
➔ bool
➔ type( )
➔ int( )
➔ float( )
➔ str( )
➔ bool( )
Slide 15
Slide 15 text
Palavras reservadas
and - as - assert - break - class - continue - def - del - elif - else - except -
exec - finally - for - from - global - if - import - in - is - lambda - nonlocal - not -
or - pass - raise - return - try - while - with - yield - True - False - None
Slide 16
Slide 16 text
Comando
É uma instrução que o interpretador Python pode executar.
Ex.: while, if, for, import.
Slide 17
Slide 17 text
Expressão
É uma combinação de valores, variáveis, operadores e chamadas de funções
e necessitam ser calculadas.
Ex.: x = x + 1
Precedência
➔ Parênteses têm a mais alta precedência e podem ser usados para forçar
que uma expressão seja calculada na ordem que você deseja.
➔ Exponenciação tem a segunda precedência mais alta.
➔ Multiplicação e ambas as divisões têm a mesma precedência, que são
mais altas que adição e subtração, que também têm a mesma
precedência.
Slide 24
Slide 24 text
Reatribuição de valores
Slide 25
Slide 25 text
Atualização de variáveis
➔ Incrementação.
➔ Decrementação.
Slide 26
Slide 26 text
Hora de praticar!
Slide 27
Slide 27 text
Você vai precisar criar um cadastro para
estudantes.
Solicite sua matricula, nome, idade, telefone,
e-mail e curso.
Então imprima os dados de estudante.
Slide 28
Slide 28 text
Listas
Slide 29
Slide 29 text
Valores em uma lista
➔ Lista vazia:
◆ vazia = [ ]
➔ Lista com itens:
◆ frutas = [‘banana’, ‘melancia’, ‘abacate’]
Slide 30
Slide 30 text
Métodos de lista
➔ Para adicionar itens:
◆ frutas.append(‘uva’)
➔ Para ordenar itens:
◆ frutas.sort( )
➔ Tamanho da lista:
◆ len(frutas)
➔ Acessar itens:
◆ frutas[n]
Slide 31
Slide 31 text
Operações com lista
➔ Concatenação de listas:
◆ [1, 2, 3] + [4, 5, 6]
➔ Repetição de listas:
◆ [1, 2, 3] * 3
Slide 32
Slide 32 text
Operações com lista
➔ Fatiamento de listas:
◆ lista = [0, 1, 2, 3, 4, 5]
◆ lista[:4]
◆ lista[3:]
◆ lista[1:3]
➔ Remoção em listas:
◆ del lista[n]
Slide 33
Slide 33 text
Hora de praticar!
Slide 34
Slide 34 text
Escreva uma lista de frutas com 3 frutas.
Adicione “kiwi” nesta lista.
Escreva uma lista de vegetais com 5 items.
Apague o item do meio.
Junte as duas listas em uma lista só,
chamada “feira”.
Slide 35
Slide 35 text
Tuplas
Slide 36
Slide 36 text
Valores em uma tupla
➔ Tupla vazia
◆ vazia = ( )
➔ Tupla com um item
◆ tupla = 1,
◆ tupla = (1,)
➔ Tupla com items
◆ tupla = 1, 2, 3, 4, 5
◆ tupla = (1, 2, 3, 4, 5)
Slide 37
Slide 37 text
Métodos de tupla
➔ Acessa items como na lista
➔ O fatiamento é como na lista
➔ É imutável, portanto não é possível reatribuir valores
➔ É possível adicionar items concatenando tuplas
Slide 38
Slide 38 text
Utilidade púlica
➔ Sem tupla
a = 1
b = 2
temp = a
a = b
b = temp
➔ Com tupla
a = 1
b = 2
a, b = b, a
Slide 39
Slide 39 text
Hora de praticar!
Slide 40
Slide 40 text
Escreva uma tupla com 5 números ímpares.
Escreva uma tupla com 5 números pares.
Adicione os números pares junto dos
ímpares.
Slide 41
Slide 41 text
Dicionários
Slide 42
Slide 42 text
Valores em um dicionário
➔ Dicionário vazio
◆ vazio = { }
➔ Dicionário com items
◆ estudante = {‘nome’: ‘Sam’, ‘idade’: 20}
Slide 43
Slide 43 text
Métodos de dicionário
➔ Para adicionar items
◆ estudante[‘matricula’] = ‘2019000001’
➔ Para ordenar items
◆ sorted(estudante.items( ))
➔ Tamanho do dicionário
◆ len(estudante)
➔ Para acessar items
◆ estudante[‘key’]
Slide 44
Slide 44 text
Métodos de dicionário
➔ Acessar as chaves
◆ estudante.keys( )
➔ Acessar os valores
◆ estudante.values( )
➔ Acessar os items
◆ estudante.items( )
➔ Remoção de items
◆ del estudante[“key”]
Slide 45
Slide 45 text
Hora de praticar!
Slide 46
Slide 46 text
Agora você vai fazer um cadastro de
estudante adicionando os dados de
estudante de acordo com cada chave. Os
campos são: nome, idade, matricula, e-mail,
curso.
Organize o dicionário por items.
As entradas devem ser dadas pelo usuário.
Slide 47
Slide 47 text
Condicionais
Slide 48
Slide 48 text
Tabela verdade
Slide 49
Slide 49 text
Observações antes de começar
➔ Valores booleanos
◆ True
◆ False
➔ Expressão booleana
◆ True and True
➔ Utiliza dos operadores lógicos e
relacionais
➔ Precedência importa
Slide 50
Slide 50 text
Execução condicional:
Seleção binária
if EXPRESSÃO BOOLEANA:
COMANDOS_1
else:
COMANDOS_2
Slide 51
Slide 51 text
Seleção unária:
omissão do else
if EXPRESSÃO BOOLEANA:
COMANDOS_1
COMANDOS_2
Slide 52
Slide 52 text
Condicionais
Aninhados
if EXPRESSÃO BOOLEANA:
COMANDOS_1
else:
if EXPRESSÃO BOOLEANA:
COMANDOS_2
else:
COMANDOS_3
Escreva um programa para determinar se
um triângulo é equilátero, isósceles ou
escaleno. As entradas devem ser dadas pelo
usuário.
Slide 56
Slide 56 text
Repetição
Slide 57
Slide 57 text
Laço for
for in :
Slide 58
Slide 58 text
Laço while
while :
Slide 59
Slide 59 text
Hora de praticar!
Slide 60
Slide 60 text
Imprima os números pares de 0 a 100.
Faça um programa com “for” e outro
programa com “while”.
Slide 61
Slide 61 text
Funções
Slide 62
Slide 62 text
Construindo uma função
def NOME_DA_FUNCAO( LISTA DE PARAMETROS ) :
COMANDOS
Slide 63
Slide 63 text
Chamando uma função
NOME_DA_FUNCAO( LISTA DE PARAMETROS )
Slide 64
Slide 64 text
Hora de praticar!
Slide 65
Slide 65 text
Escreva uma função chamada “sumAll” para
somar todos os números de uma lista. A lista
deve ser preenchida pelo usuário fora da
função e deve ser passada como parâmetro
da função.
Slide 66
Slide 66 text
Classes
Slide 67
Slide 67 text
Construindo uma classe
class NOME_DA_CLASSE:
def __init__(self, ARGUMENTOS):
self.ARGUMENTOS
COMANDOS
Slide 68
Slide 68 text
Chamando uma classe
NOME_DA_CLASSE( LISTA DE PARAMETROS )
Slide 69
Slide 69 text
Hora de praticar!
Slide 70
Slide 70 text
Crie uma classe “animal” e instancie um
objeto “gato” outro “cachorro” e outro
“galinha”. A classe animal deve ter os
atributos nome do animal e som. Imprima
cada um.
Slide 71
Slide 71 text
Mini-Projeto__
Slide 72
Slide 72 text
Crie um programa que simule o funcionamento básico de uma conta.
O programa deverá:
➔ Ter um menu com as opções:
◆ Cadastrar clientes com os campos número da conta, senha e saldo;
◆ Fazer saque/depósito/transferir na conta, apenas se o usuário for
autenticado, ou seja, existir no cadastro e a conta e senha forem
correspondentes ao cadastrado;
◆ Imprimir as informações do cliente;
Observações:
➔ Deve ser verificado se a conta está com o saldo suficiente para saque ou
transferência, é proibido o saldo negativo na conta. Se o saldo for insuficiente
para saque ou transferência, exibir um alerta.
Slide 73
Slide 73 text
Referências
➔ Aprenda Computação com Python’s documentation!
(https://aprendendo-computacao-com-python.readthedocs.
io/en/latest/index.html)
➔ Como pensar como um cientista da computação
(https://panda.ime.usp.br/pensepy/static/pensepy/index.ht
ml#listas)