Apostila Dominando Python2
Apostila Dominando Python2
Apostila Dominando Python2
DEGRAU 2
APOSTILA COMPLETA
Introdução
O que vamos aprender neste degrau 2
Utilizar novas ferramenta
Aprofundar nos fundamentos da linguage
Comprehension
Debugar e tratar erro
Manipulação de arquivo
Decoradore
Orientação a objeto
Trabalhar com datas e horas no Pytho
Ambientes virtuais
Instalações
Anaconda: https://www.anaconda.com
Visual studio code: https://code.visualstudio.com/
IMPORTANTE
Não esqueça de utilizar corretamente as identações. Você pode identar facilmente
clicando na tecla TAB ou quatro espaços -> <-. No visual studio code, a identação é
automática, então só é necessário saber quando remover a identação.
Exemplo
ENTRADA
SAÍDA
Exemplo
ENTRADA
SAÍDA
Zen do Python
import this
Exemplo
ENTRADA
SAÍDA
Revisão
Variáveis
Exemplo ENTRADA
SAÍDA
Exemplo ENTRADA
SAÍDA
Operadores
Exemplo ENTRADA
SAÍDA
Exemplo ENTRADA
SAÍDA
Exemplo ENTRADA
SAÍDA
Estrutura de dados
Listas
Exemplo ENTRADA
SAÍDA
Exemplo ENTRADA
SAÍDA
Tuplas
ENTRADA
SAÍDA
Dicionários
Exemplo
ENTRADA
SAÍDA
Estrutura e controle
While
Exemplo
ENTRADA
SAÍDA
For
Exemplo
ENTRADA
SAÍDA
Funções
Exemplo
ENTRADA
SAÍDA
Conversão de tipos
Exemplo
ENTRADA
SAÍDA
Exemplo
ENTRADA
SAÍDA
Listas
Copiando lista
Quando uma variável recebe uma outra variável que é uma lista, o python não duplica
na memória as listas, mas as variáveis vão estar linkadas para o mesmo objeto.
Exemplo ENTRADA
SAÍDA
Exemplo ENTRADA
SAÍDA
Exemplo ENTRADA
SAÍDA
Função
Funções list()
A função list() recebe um argumento iterável (ex. string e tuplas), e cria uma lista
com as iterações desse argumento. Se nenhum argumento for passado, ele cria uma
lista vazia.
Exemplo ENTRADA
SAÍDA
Exemplo ENTRADA
SAÍDA
Função count()
A função count realiza a contagem de algum valor dentro de uma lista.
Exemplo
ENTRADA
SAÍDA
Função index()
A função index() retorna o índice dentro da lista de um certo valor.
Exemplo
ENTRADA
SAÍDA
Função sort()
A função sort() serve para ordenar os termos de uma lista.
Exemplo
ENTRADA
SAÍDA
Função reverse()
IMPORTANTE
Exemplo
ENTRADA
SAÍDA
Função len()
A função len() retorna o tamanho da lista.
Exemplo
ENTRADA
SAÍDA
Função sum()
A função sum() retorna a soma dos elementos de uma lista numérica.
Exemplo
ENTRADA
SAÍDA
Função min()
A função min() retorna o valor mínimo de uma lista numérica.
Exemplo
ENTRADA
SAÍDA
Função max()
A função max() retorna o valor máximo de uma lista numérica.
Exemplo
ENTRADA
SAÍDA
Slicing
Slicing é a técnica de fatiamento de uma lista, passando o intervalo dos índices.
Exemplo
ENTRADA
SAÍDA
Exercícios
2 A partir da lista anterior, separe os números pares em uma lista chamada 'pares'
Solução
Exemplo ENTRADA
SAÍDA
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
100]
<class 'list'>
Exemplo ENTRADA
SAÍDA
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28,
30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56,
58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84,
86, 88, 90, 92, 94, 96, 98, 100]
<class 'list'>
Exemplo ENTRADA
SAÍDA
Tuplas
Copiando Tuplas
Diferentemente das listas, a tupla não tem o método copy. Mas com tuplas, o
python não criará a cópia dinâmica como nas listas. Ou seja, se você atribuir um novo
valor para a tupla original, a tupla copiada não terá seu valor inicial modificado.
Exemplo
ENTRADA
SAÍDA
Funções
Função index()
A função index() recebe um valor, e retorna o índice desse valor dentro da tupla.
Exemplo
ENTRADA
SAÍDA
Função count()
A função count(), recebe um valor, e retorna a contagem de quantas vezes esse valor
aparece na tupla.
Exemplo
ENTRADA
SAÍDA
Função len()
A função len() retorna o tamanho da tupla.
Exemplo
ENTRADA
SAÍDA
Função min()
A função min() retorna o menor valor da tupla.
Exemplo
ENTRADA
SAÍDA
Função max()
A função max() retorna o maior valor da tupla.
Exemplo
ENTRADA
SAÍDA
Função sum()
A função sum() retorna a soma dos itens da tupla. A tupla deve ser constituído
somente por itens numéricos.
Exemplo
ENTRADA
SAÍDA
Função index()
Para criar uma tupla com um único elemento, é necessário adicionar uma vírgula
após o item.
Exemplo ENTRADA
SAÍDA
Exemplo ENTRADA
SAÍDA
Slicing
Exemplo
ENTRADA
SAÍDA
Desempacotamento de tuplas
Exemplo
ENTRADA
SAÍDA
Dicionários
Copiando dicionários
A cópia de dicionários são iguais à cópia de listas. Para copiar sem a linkagem
dinâmica, é necessário utilizar o método copy()
Exemplo ENTRADA
SAÍDA
{'nome': 'Vinicius', 'linguagem': 'python', 'cidade':
'Macae'}
{'nome': 'Vinicius', 'linguagem': 'python', 'cidade':
'Macae'}
Exemplo ENTRADA
SAÍDA
{'nome': 'Vinicius', 'linguagem': 'python', 'cidade':
'Macae'}
{'nome': 'Vinicius', 'linguagem': 'python'}
Funções
Função dict()
A função dict() é utilizado para criar um dicionário.
Exemplo ENTRADA
SAÍDA
print(dict_b)
print(type(dict_b))
SAÍDA
dict_b = dict(lista_b)
print(dict_b)
print(type(dict_b))
SAÍDA
Função fromkeys()
A função fromkeys() é utilizada para criar um dicionários, mas não é muito usual,
devido a alta probabilidade de erros.
Exemplo
ENTRADA
SAÍDA
Função get()
A função get() recebe uma chave, e retorna o valor. Se a chave não existir, vai retornar
None, e não vai mostrar a mensagem de erro.
Exemplo
ENTRADA # sem a função get(), passando uma chave que não existe mostra a mensagem de
erro
print(dict_a['nomeee'])
SAÍDA
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
<ipython-input-40-6c3aba5863ca> in <module>()
1 dict_a = {'nome':'Empowerdata', 'linguagem':'Python', 'status':True}
----> 2 print(dict_a['nomeee'])
KeyError: 'nomeee'
Exemplo
ENTRADA # com o get(), passando uma chave que não existe retorna None (vazio)
print(dict_a.get('nomeee'))
SAÍDA
Função update()
A função update() recebe um dicionário como parâmetro, e adiciona os novos valores
no dicionário anterior, ou atualiza seus valores.
Exemplo
ENTRADA
SAÍDA
{'nome': 'Empowerdata', 'linguagem': 'DAX', 'status': True, 'login': 'Aluno123'}
Interações
Exemplo
ENTRADA
SAÍDA
Exemplo
ENTRADA
SAÍDA
Exemplo
ENTRADA
SAÍDA
Exercícios
Dado o dicionário abaixo ,crie uma função que receba a sigla de um país e imprima o
nome, a sigla e sua capital.
Solução
Exemplo
ENTRADA
SAÍDA
Collections Counter
Recebe um iterável como argumento e retorna um objeto do tipo Collections
Counter, contendo as contagens de cada elemento no iterável.
Exemplo ENTRADA
SAÍDA
Exemplo ENTRADA
SAÍDA
Counter({'i': 3, 'V': 1, 'n': 1, 'c': 1, 'u': 1, 's': 1})
[('i', 3)]
if else e elif
Para não ficar um código bagunçado com diversos if/else, foi criado o elif, deixando a
estrutura como: se/se/.../senão
Exemplo: Crie uma função que receba uma idade e retorne a faixa etária, de acordo
com as especificações abaixo:
60 a 100: idoso(a)
maior que 100: centenário(a)
menor que 0: idade inválida!
Exemplo ENTRADA
ENTRADA
SAÍDA
Exemplo ENTRADA
SAÍDA
While
O while é utilizado quando não é conhecido o número de repetições que um
Abaixo, será criado um jogo de adivinhação, onde será gerado um número secreto
aleatório entre 1 e 5, e o jogador deve escolher um número.
O while permite que o jogador teste valores até acertar, sem uma quantidade
definida de loops.
Exemplo
numero_secreto = randint(1,5)
numero_escolhido = 0
while(numero_secreto != numero_escolhido):
SAÍDA
For
range()
A função range() pode receber até três parâmetros, e cria um objeto range que é uma
sequência de números.
Exemplo ENTRADA
SAÍDA
Exemplo ENTRADA
SAÍDA
Exemplo ENTRADA
SAÍDA
enumerate()
O enumerate() retorna um objeto enumerado. Deve ser aplicado sobre um objeto
iterável.
Exemplo
ENTRADA
SAÍDA
Exercício
Mostrar a tabuada do 7 utilizando Python.
Exemplo
ENTRADA
SAÍDA
A saída continua até a tabuada até o 9. Para efeito de simplificação colocamos até a tabuada 1.
Break
O break para a execução do looping que está contido.
Exemplo ENTRADA
SAÍDA
Exemplo ENTRADA
SAÍDA
Continue
O continue volta para o loop, e ignora o restante de código que estava no loop.
Exemplo
ENTRADA
SAÍDA
SAÍDA
pass
O pass continua o loop ou a condição. Basicamente, ele não faz nada.
É extremamente útil para definir funções ou condições, onde a implementação
será realizada depois.
Se não utilizar o pass na condição acima, o python mostrará erro. Então, serve só
para deixar algo dentro do bloco.
Exemplo
ENTRADA
SAÍDA
Avançando em funções
Parâmetros posicionais
Parâmetros nomeados
Exemplo ENTRADA
SAÍDA
Exemplo ENTRADA
SAÍDA
num_1 = 10
num_2 = 20
num_3 = 30
mostra_numeros(numero_1=num_1, numero_2=num_3,
numero_3=num_2)
SAÍDA
Exemplo ENTRADA
SAÍDA
Exemplo ENTRADA
SAÍDA
*args
O *args é um parâmetro especial (pode ter qualquer nome, desde que tenha o
asterisco!) que nos permite passar vários argumentos para uma função. Os
argumentos são transformados em uma tupla.
Exemplo
ENTRADA
SAÍDA
**kwargs
O **kwargs é um parâmetro especial (pode ter qualquer nome, desde que tenha os
dois asteriscos) que nos permite passar vários argumentos para uma função. Os
argumentos são transformados em um dicionário.
Exemplo ENTRADA
SAÍDA
print(kwargs)
SAÍDA
{'nome': 'Vinicius', 'linguagem': 'python', 'status':
True}
{'nome': 'Vinicius', 'linguagem': 'python', 'status':
True, 'login': 'Empowerdata'}
Exemplo
ENTRADA
SAÍDA
Exemplo: a função sum() pode ser invocada em qualquer momento, list() também,
mas uma variável não, pois não é uma função.
Exemplo ENTRADA
SAÍDA
Exemplo ENTRADA
SAÍDA
Exemplo ENTRADA
SAÍDA
Exemplo ENTRADA
SAÍDA
Comprehensions
Aplicações:
list comprehensions
Exemplo ENTRADA
SAÍDA
Exemplo ENTRADA
SAÍDA
Exemplo ENTRADA
SAÍDA
['V', 'i', 'n', 'i', 'c', 'i', 'u', 's', ' ', 'R', 'o', 'c',
'h', 'a', ' ', 'L', 'i', 'm', 'a']
['VV', 'ii', 'nn', 'ii', 'cc', 'ii', 'uu', 'ss', ' ', 'RR',
'oo', 'cc', 'hh', 'aa', ' ', 'LL', 'ii', 'mm', 'aa']
Exemplo ENTRADA
SAÍDA
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30,
32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60,
62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90,
92, 94, 96, 98]
Exemplo ENTRADA
SAÍDA
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30,
32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60,
62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90,
92, 94, 96, 98]
Exemplo 2: pegar uma lista de 0 a 99, se for par, divide por 2, se ímpar, multiplica por 2.
Exemplo ENTRADA
SAÍDA
[0.0, 2, 1.0, 6, 2.0, 10, 3.0, 14, 4.0, 18, 5.0, 22, 6.0, 26,
7.0, 30, 8.0, 34, 9.0, 38, 10.0, 42, 11.0, 46, 12.0, 50,
13.0, 54, 14.0, 58, 15.0, 62, 16.0, 66, 17.0, 70, 18.0, 74,
19.0, 78, 20.0, 82, 21.0, 86, 22.0, 90, 23.0, 94, 24.0, 98,
25.0, 102, 26.0, 106, 27.0, 110, 28.0, 114, 29.0, 118, 30.0,
122, 31.0, 126, 32.0, 130, 33.0, 134, 34.0, 138, 35.0, 142,
36.0, 146, 37.0, 150, 38.0, 154, 39.0, 158, 40.0, 162, 41.0,
166, 42.0, 170, 43.0, 174, 44.0, 178, 45.0, 182, 46.0, 186,
47.0, 190, 48.0, 194, 49.0, 198]
Dict comprehensions
A ideia é similar ao mostrado anteriormente, mas agora não pode usar [] (pois criaria
uma lista), é necessário utilizar {}.
Exemplo
ENTRADA
SAÍDA
{'numero 0': 0, 'numero 1': 1, 'numero 2': 2, 'numero 3': 3, 'numero 4': 4,
'numero 5': 5, 'numero 6': 6, 'numero 7': 7, 'numero 8': 8, 'numero 9': 9, 'numero
10': 10, 'numero 11': 11, 'numero 12': 12, 'numero 13': 13, 'numero 14': 14,
'numero 15': 15, 'numero 16': 16, 'numero 17': 17, 'numero 18': 18, 'numero 19':
19}
Set comprehensions
Para criar um set utilizando comprehensions, é necessário utilizar o {}, e a estrutura é
igual ao mostrado para as listas.
Exemplo ENTRADA
SAÍDA
print(letras)
SAÍDA
Iterators
São objetos 'iteradores', podem ser criados com a função iter(). Ao contrário de um
objeto range, iterators não retornam todos os elementos de uma só vez.
Por fim, eles utilizam a função next() para passarem para a próxima iteração.
Exemplo: é necessário um loop passar por 1 bilhão de números, se fosse criado uma
lista com range(1000000000), ia ser consumida muita memória. Com o iterator, a
memória consumida é quase zero.
Exemplo ENTRADA
SAÍDA
Exemplo ENTRADA
SAÍDA
Generator
É um objeto do tipo generator. Podem ser criados por funções geradoras, que
utilizam yield. Podem ser criados por expressões generadoras.
Utilizam a função next() para passar para a próxima iteração. Otimizam o consumo
de memória, porém, perdem performance em questão de velocidade.
Exemplo
ENTRADA
SAÍDA
Expressões geradoras
Exemplo ENTRADA
SAÍDA
print(next(contadores_pares))
print(next(contadores_pares))
print(next(contadores_pares))
print(next(contadores_pares))
SAÍDA
Memória X Performance
Exemplo ENTRADA
SAÍDA
Exemplo ENTRADA
SAÍDA
Exemplo ENTRADA
SAÍDA
4 function calls in 0.095 seconds
Ordered by: standard name
ncalls tottime percall cumtime percall
filename:lineno(function)
1 0.001 0.001 0.095 0.095
<string>:1(<module>)
1 0.000 0.000 0.095 0.095 {built-in
method builtins.exec}
1 0.094 0.094 0.094 0.094 {built-in
method builtins.sum}
1 0.000 0.000 0.000 0.000 {method
'disable' of '_lsprof.Profiler' objects}
Exemplo ENTRADA
SAÍDA
10000005 function calls in 1.746 seconds
Ordered by: standard name
ncalls tottime percall cumtime percall
filename:lineno(function)
10000001 0.889 0.000 0.889 0.000 <ipython-
input-28-70286d00e11b>:2(<genexpr>)
1 0.000 0.000 1.746 1.746
<string>:1(<module>)
1 0.000 0.000 1.746 1.746 {built-in
method builtins.exec}
1 0.857 0.857 1.746 1.746 {built-in
method builtins.sum}
1 0.000 0.000 0.000 0.000 {method
'disable' of '_lsprof.Profiler' objects}
Funções lambda
Funções lambda são criadas em apenas uma linha de código. São simples, curtas e
descartáveis. Também são conhecidas como expressões lambda e funções
anônimas.
Exemplo ENTRADA
SAÍDA
Exemplo ENTRADA
SAÍDA
Função map()
A função map() é built-in, retorna um objeto map, e recebe como parâmetros uma
função e um ou mais objetos iteráveis. Aplica a função em cada elemento do objeto
iterável.
Exemplo ENTRADA
SAÍDA
Exemplo ENTRADA
SAÍDA
Exemplo ENTRADA
SAÍDA
print(lista_int_3)
SAÍDA
Função filter()
A função filter() é uma função built-in e retorna um objeto filter. Recebe como
parâmetro uma função e um objeto iterável.
Filtra a lista aplicando a função em cada elemento, retornando apenas os que foram
True.
Exemplo ENTRADA
SAÍDA
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
92, 93, 94, 95, 96, 97, 98, 99]
Exemplo ENTRADA
SAÍDA
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30,
32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60,
62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90,
92, 94, 96, 98]
Exemplo ENTRADA
from statistics import mean
media = round(mean(notas),1)
print(media)
SAÍDA
print(notas_acima_media)
SAÍDA
Função reduce()
A função reduce() é importada do módulo functools. Ela recebe como argumento
uma função e um objeto iterável, e retorna um valor. Aplica a função sobre os
elementos de forma acumulativa.
Exemplo
ENTRADA
SAÍDA
Função sort()
A função sort() é utilizada para ordenar elementos. Ela modifica o objeto original, e
possui um parâmetro opcional chamado key.
print(pessoas)
SAÍDA
[('Vinicius', 40), ('Ana', 30), ('Gabriel', 23), ('Lucas',
30)]
Exemplo ENTRADA
SAÍDA
[('Ana', 30), ('Gabriel', 23), ('Lucas', 30), ('Vinicius',
40)]
Exemplo ENTRADA
SAÍDA
[('Gabriel', 23), ('Ana', 30), ('Lucas', 30), ('Vinicius',
40)]
Tratamento de erros
Tipos de erros
Principais tipos de erros:
Sintaxe
Exemplo
ENTRADA
SAÍDA
Exemplo
ENTRADA
SAÍDA
Exceções
Exemplo
ENTRADA
SAÍDA
Exemplo
ENTRADA
SAÍDA
Exemplo
ENTRADA
SAÍDA
Exemplo
ENTRADA
SAÍDA
Exemplo
ENTRADA
SAÍDA
Lógica
Exemplo
ENTRADA
SAÍDA
Estrutura
Os blocos try... except são utilizados para tratar erros, e evitar que o programa pare
de ser executado por algum erro de exceção.
Exemplo
ENTRADA
SAÍDA
Capturando erros
É possível tratar os erros diretamente pelos excepts, tanto de maneira específica,
como geral.
lista = [1,2,0,5,0,'a']
try:
except ZeroDivisionError:
except TypeError:
print('\n')
SAÍDA
SAÍDA
Exemplo ENTRADA
SAÍDA
Dividindo 5 por 1: 5.0
Dividindo 5 por 2: 2.5
Ocorreu o erro: division by zero
Dividindo 5 por 5: 1.0
Ocorreu o erro: division by zero
Ocorreu o erro: unsupported operand type(s) for /: 'int' and
'str'
Personalizando exceções
Exemplo
ENTRADA
SAÍDA
Módulo datetime
O python possui um módulo nativo para datas e horas, chamado datetime. Com ele,
é possível criar:
Objetos de data
Objetos de data e hora
Realizar cálculos entre datas e horas
Configurar timezone (fuso horário)
Entre outros...
Classe datetime.date
Exemplo ENTRADA
SAÍDA
Exemplo ENTRADA
SAÍDA
Classe datetime.datetime
Exemplo ENTRADA import datetime
print(data_hora)
print(type(data_hora))
print(data_hora.hour)
SAÍDA
SAÍDA
0 - segunda
1 - terça
2 - quarta
3 - quinta
4 - sexta
5 - sábado
6 - domingo
'''
SAÍDA
Timezone
Exemplo ENTRADA
SAÍDA
SAÍDA
SAÍDA
Exemplo ENTRADA
SAÍDA
import datetime
data_str = "15/06/2022"
SAÍDA
Data str: 15/06/2022 - formato: <class 'str'>
Data datetime: 2022-06-15 00:00:00 - formato: <class
'datetime.datetime'>
import datetime
data_date = datetime.datetime(2022,6,25)
data_str = data_date.strftime("%d-%m-%y")
SAÍDA
Data datetime: 2022-06-25 00:00:00 - formato: <class
'datetime.datetime'>
Data str: 25-06-22 - formato: <class 'str'>
Exercício
Crie uma função que recebe um datetime, e retorna o dia da semana como texto, e
não como número.
Exemplo ENTRADA
ENTRADA 3 :'quinta',
4 :'sexta',
5 :'sábado',
6 :'domingo'
return dias[dia]
SAÍDA
O dia da semana para a data 2022-06-29 é: quarta!
import datetime
import locale
def dia_semana(data):
return data.strftime('%A')
SAÍDA
Para o python ler uma arquivo txt, é utilizado a função open(). Podemos especificar
o modo de abertura:
read - leitura ou write - escrita
FileNotFoundError.
É necessário fechar o arquivo quando não for mais utilizado com a função close(),
pois consome recurso. Podemos utilizar o with para facilitar a leitura do arquivo txt.
Função open()
Exemplo ENTRADA
SAÍDA
<class '_io.TextIOWrapper'>
<_io.TextIOWrapper name='arquivo_teste.txt' mode='r'
encoding='UTF-8'>
Exemplo ENTRADA
SAÍDA
Função read()
Exemplo ENTRADA
SAÍDA
Exemplo ENTRADA
SAÍDA
Função readlines()
Exemplo
ENTRADA
SAÍDA
Função readlines()
Exemplo
ENTRADA
SAÍDA
['Eu estou aprendendo a programar em Python\n', 'Eu estou estudando na Empowerdata.
\n', 'Estamos no curso Dominando a Linguagem Python']
<class 'list'>
Função seek()
Exemplo ENTRADA
SAÍDA
Exemplo ENTRADA
SAÍDA
ENTRADA
SAÍDA
Exemplo
ENTRADA
SAÍDA
Função write()
Função writelines()
SAÍDA
Exemplo ENTRADA
SAÍDA
Exemplo ENTRADA
SAÍDA
É o formato padrão para troca de mensagens entre sistemas web. Muito utilizados
em bancos de dados não relacionais. Podemos utilizar o módulo JSON para
trabalhar com esse tipo de arquivo.
Exemplo ENTRADA
SAÍDA
Exemplo ENTRADA
SAÍDA
Biblioteca pandas
print(file)
SAÍDA
Exemplo ENTRADA
SAÍDA
Introdução
Programação Orientada a Objetos é um paradigma de programação. É uma forma
de programar. Outros tipos comuns são:
Procedural/Estruturada
Orientada a Objetos
Funcional
Objetos são instanciados a partir de uma Classe, e podemos ter vários objetos de uma
mesma classe.
Vamos utilizar o exemplo do Lápis. Lápis é uma classe, todo lápis possui atributos, e
métodos:
Você pode perceber que atributos são características, e métodos são verbos com
ações. No cenário anterior, não existe um objeto lápis, só foram apresentados os
conceitos gerais de um lápis.
Agora, se você dizer que o lápis tem 10cm, cor azul, e a cor da madeira é bege, você
tem um objeto lápis. Veja que todos os atributos do lápis foram preenchidos, e as
ações/métodos só serão realizadas quando o usuário desejar.
Você pode ter outro lápis, com 5cm, cor preta, e a cor da madeira é marrom escura.
Você tem um segundo objeto, e as ações serão ligeiramente diferentes do outro lápis!
Exemplo
ENTRADA class Lapis:
# a classe __init__ é padrão para criar uma classe, ela é chamada quando a
self.tamanho = tamanho
self.cor_do_grafite = cor_do_grafite
self.cor_da_madeira = cor_da_madeira
def escrever(self):
self.tamanho -= qtd
print(f'O lápis foi apontado em {qtd} cm, agora ele tem um tamanho de
{self.tamanho} cm')
lapis_marrom.escrever()
lapis_marrom.ser_apontado(4)
print('\n')
lapis_azul.escrever()
lapis_azul.ser_apontado(1)
SAÍDA
Criando métodos
Exemplo
ENTRADA
SAÍDA
Exercício
Exemplo
ENTRADA
SAÍDA
Ambientes virtuais
Nova seção
Ambientes virtuais são úteis para não modificar a instalação padrão do python, e
deixar o ambiente voltado para o desenvolvimento do projeto.
Para essas instalações não ficarem no mesmo ambiente padrão do Anaconda, você
pode instalar em um ambiente virtual.
Instagram @empowerpython
Canal no Youtube