├── 16-arquivos ├── novo_arquivo.txt ├── nomes.txt └── 16-arquivos.py ├── 12-modulos ├── modulo_exemplo.py └── 12-modulos.py ├── README.md ├── 02-primeiros_programas └── 02-Primeiros_programas.py ├── 04-variaveis └── 04-variaveis.py ├── 03-sinais_e_operacoes └── 03-sinais_e_operacoes.py ├── 07-tuplas └── 07-tuplas.py ├── 14-data_e_tempo └── 14-data_e_tempo.py ├── 09-sets └── 09-sets.py ├── 08-dicionarios └── 08-dicionarios.py ├── 15-excecoes └── 15-excecoes.py ├── 11-funcoes └── 11-funcoes.py ├── 10-estruturas_de_controle └── 10-estruturas_de_controle.py ├── 13-programacao-orientada-a-objetos └── 13-programacao-orientada-a-objetos.py ├── 06_listas └── 06_listas.py └── 05-strings └── 05-strings.py /16-arquivos/novo_arquivo.txt: -------------------------------------------------------------------------------- 1 | Testando r+ mesNovo teste do r+ adicionado ao arquivo com o modo a -------------------------------------------------------------------------------- /16-arquivos/nomes.txt: -------------------------------------------------------------------------------- 1 | Felipe 2 | Carolina 3 | Joana 4 | José 5 | Alfredo 6 | Afonso 7 | Júlio 8 | Ana 9 | Joelma 10 | Flash Gordon 11 | Vanderlei 12 | Maria Claudia -------------------------------------------------------------------------------- /12-modulos/modulo_exemplo.py: -------------------------------------------------------------------------------- 1 | def modulo_print(): 2 | print("Oi, eu sou a primeira função dentro do módulo") 3 | 4 | def modulo_print_com_nome(nome): 5 | print("Olá %s, eu sou a segunda função dentro do módulo" % nome) -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Livro Aprenda Python Básico - Rápido e Fácil de Entender 2 | 3 | Este repositório reúne todo o código utilizado em cada capítulo do livro. Está dividido em pastas, sendo cada pasta um capítulo. Arquivos auxiliares, como os utilizados no capítulo 16 (Arquivos), também estão inclusos. -------------------------------------------------------------------------------- /02-primeiros_programas/02-Primeiros_programas.py: -------------------------------------------------------------------------------- 1 | # Código utilizado no livro Aprenda Python Básico - Rápido e Fácil de entender, de Felipe Galvão 2 | # Mais informações sobre o livro: http://felipegalvao.com.br/livros 3 | 4 | # Capítulo 2: Primeiros Programas - Print, Comentários e Tipos de Dados 5 | 6 | # Print no Python 3 só pode ser chamado como função, conforme abaixo 7 | print("Oi, Python") 8 | 9 | # Isto é um comentário e não será executado pelo Python 10 | print("Oi Python") 11 | print("Explicando comentários") # isto também é um comentário e não será executado -------------------------------------------------------------------------------- /12-modulos/12-modulos.py: -------------------------------------------------------------------------------- 1 | # Código utilizado no livro Aprenda Python Básico - Rápido e Fácil de entender, de Felipe Galvão 2 | # Mais informações sobre o livro: http://felipegalvao.com.br/livros 3 | 4 | # Capítulo 12: Módulos 5 | 6 | # Importando o módulo "modulo_exemplo" e chamando sua função logo abaixo 7 | import modulo_exemplo 8 | 9 | modulo_exemplo.modulo_print() 10 | modulo_exemplo.modulo_print_com_nome("Felipe") 11 | 12 | # from modulo_exemplo import modulo_print 13 | 14 | # modulo_print() 15 | # modulo_print_com_nome("Felipe") 16 | 17 | # from modulo_exemplo import * 18 | 19 | # modulo_print() 20 | # modulo_print_com_nome("Felipe") 21 | 22 | import sys 23 | print(sys.path) -------------------------------------------------------------------------------- /04-variaveis/04-variaveis.py: -------------------------------------------------------------------------------- 1 | # Código utilizado no livro Aprenda Python Básico - Rápido e Fácil de entender, de Felipe Galvão 2 | # Mais informações sobre o livro: http://felipegalvao.com.br/livros 3 | 4 | # Capítulo 4: Variáveis 5 | 6 | # Definição das primeiras variáveis 7 | a = 3 8 | b = 7 9 | print(a+b) 10 | 11 | # Mudança de tipo de uma variável 12 | a = "Agora uma string" 13 | print(a) 14 | 15 | # Definindo uma variável com base no valor atual de outra 16 | b = a 17 | print(b) 18 | 19 | # Definição de múltiplas variáveis com valores iguais 20 | x = y = z = 10 21 | print(x) 22 | print(y) 23 | print(z) 24 | 25 | # Definição de múltiplas variáveis com valores diferentes 26 | x, y, z = 10, 20, 30 27 | print(x) 28 | print(y) 29 | print(z) 30 | 31 | # Captação de input do usuário 32 | nome = input("Olá, qual o seu nome?\n") 33 | print("Olá, %s" % nome) -------------------------------------------------------------------------------- /03-sinais_e_operacoes/03-sinais_e_operacoes.py: -------------------------------------------------------------------------------- 1 | # Código utilizado no livro Aprenda Python Básico - Rápido e Fácil de entender, de Felipe Galvão 2 | # Mais informações sobre o livro: http://felipegalvao.com.br/livros 3 | 4 | # Capítulo 3: Sinais e Operações 5 | 6 | # Demonstração dos operadores matemáticos básicos 7 | print(4 + 5) 8 | print(6 - 3) 9 | print(7 * 8) 10 | print(12 / 4) 11 | print(63 % 10) 12 | print(5**3) 13 | 14 | # Isto imprimirá uma linha vazia e facilitará a visualização da saída 15 | print() 16 | 17 | # Demonstração dos operadores comparativos 18 | print(4 == 5) 19 | print(4 == 4) 20 | print() 21 | 22 | print(6 != 3) 23 | print(6 != 6) 24 | print() 25 | 26 | print(9 > 8) 27 | print(3 > 5) 28 | print() 29 | 30 | print(10 >= 10) 31 | print(13 >= 15) 32 | print() 33 | 34 | print(63 < 65) 35 | print(150 < 140) 36 | print() 37 | 38 | print(5 <= 5) 39 | print(12 <= 8) -------------------------------------------------------------------------------- /07-tuplas/07-tuplas.py: -------------------------------------------------------------------------------- 1 | # Código utilizado no livro Aprenda Python Básico - Rápido e Fácil de entender, de Felipe Galvão 2 | # Mais informações sobre o livro: http://felipegalvao.com.br/livros 3 | 4 | # Capítulo 7: Tuplas 5 | 6 | # Definindo nossa primeira tupla 7 | tupla1 = ("Gato", "Cachorro", "Papagaio", "Tartaruga") 8 | print(tupla1) 9 | 10 | # Acessando um elemento da tupla; mesmo formato das listas, com colchetes 11 | print(tupla1[2]) 12 | 13 | # Slicing de uma tupla; pegando um intervalo; mesmo formato das listas 14 | print(tupla1[1:3]) 15 | 16 | # Criando uma tupla vazia 17 | tupla_vazia = () 18 | print(tupla_vazia) 19 | 20 | # Não é possível fazer a alteração de um elemento da tupla; Python retorna um erro 21 | # tupla1[1] = "Elefante" 22 | 23 | # Para apagar uma tupla, usa-se del() 24 | # del(tupla1) 25 | # print(tupla1) 26 | 27 | # Algumas funções úteis para se trabalhar com tuplas 28 | tupla2 = (8.3, 9.4, 3.3, 7.5, 7.6) 29 | print(max(tupla2)) 30 | print(min(tupla2)) 31 | print(len(tupla2)) 32 | 33 | # Transformando uma tupla em lista e vice-versa 34 | lista1 = list(tupla1) 35 | print(lista1) 36 | lista2 = ["José", "Afonso", "Carlos", "Luiz"] 37 | tupla3 = tuple(lista2) 38 | print(tupla3) -------------------------------------------------------------------------------- /16-arquivos/16-arquivos.py: -------------------------------------------------------------------------------- 1 | # Código utilizado no livro Aprenda Python Básico - Rápido e Fácil de entender, de Felipe Galvão 2 | # Mais informações sobre o livro: http://felipegalvao.com.br/livros 3 | 4 | # Capítulo 16: Arquivos 5 | 6 | file = open("nomes.txt", "r") 7 | print(file.read()) 8 | 9 | print("\n") 10 | 11 | file = open("nomes.txt", "r") 12 | print(file.read(10)) 13 | 14 | print("\n") 15 | 16 | file = open("nomes.txt", "r") 17 | print(file.readline()) 18 | print(file.readline()) 19 | print(file.readline()) 20 | 21 | print("\n") 22 | 23 | file = open("nomes.txt", "r") 24 | print(file.readlines()) 25 | 26 | print("\n") 27 | 28 | file = open("novo_arquivo.txt", "w") 29 | file.write("Testando, testando!\n") 30 | file.write("Mais uma linha para testar") 31 | file.close() 32 | 33 | file = open("novo_arquivo.txt", "w") 34 | file.write("Novo texto, mesmo arquivo") 35 | file.close() 36 | 37 | file = open("novo_arquivo.txt", "a") 38 | file.write("\nTexto adicionado ao arquivo com o modo a") 39 | file.close() 40 | 41 | file = open("novo_arquivo.txt", "r+") 42 | file.write("Testando r+") 43 | file.seek(15) 44 | file.write("Novo teste do r+") 45 | file.seek(0) 46 | print(file.read()) 47 | file.close() -------------------------------------------------------------------------------- /14-data_e_tempo/14-data_e_tempo.py: -------------------------------------------------------------------------------- 1 | # Código utilizado no livro Aprenda Python Básico - Rápido e Fácil de entender, de Felipe Galvão 2 | # Mais informações sobre o livro: http://felipegalvao.com.br/livros 3 | 4 | # Capítulo 14: Data e Tempo 5 | 6 | # Importar a classe date, do módulo datetime, usada para trabalhar com datas 7 | from datetime import date 8 | 9 | # Cria nova data, informando o ano, mês e dia 10 | data1 = date(2016, 12, 9) 11 | print(data1) 12 | 13 | # Retorna o dia atual, baseado no sistema 14 | print(date.today()) 15 | 16 | hoje = date.today() 17 | 18 | data2 = date(hoje.year, hoje.month, 1) 19 | print(data2) 20 | 21 | # Calcular a diferença entre datas 22 | carnaval_2017 = date(2017, 2, 24) 23 | tempo_para_o_carnaval = abs(carnaval_2017 - hoje) 24 | print(tempo_para_o_carnaval.days) 25 | 26 | # Métodos para trabalho com datas 27 | print(hoje.weekday()) 28 | 29 | data2 = data2.replace(day=3) 30 | print(data2) 31 | 32 | print(data2.strftime("%d/%m/%Y")) 33 | 34 | # Importar a classe time, do módulo datetime, usada para trabalhar com tempo 35 | from datetime import time 36 | 37 | tempo1 = time(12, 25, 31, 1333) 38 | print(tempo1) 39 | 40 | # Formatação de tempo 41 | print(tempo1.strftime("%H horas, %M minutos e %S segundos")) -------------------------------------------------------------------------------- /09-sets/09-sets.py: -------------------------------------------------------------------------------- 1 | # Código utilizado no livro Aprenda Python Básico - Rápido e Fácil de entender, de Felipe Galvão 2 | # Mais informações sobre o livro: http://felipegalvao.com.br/livros 3 | 4 | # Capítulo 9: Sets 5 | 6 | # Criando nossos primeiros sets 7 | lista1 = ["Luiz", "Alfredo", "Felipe", "Alfredo", "Joana", "Carolina", "Carolina"] 8 | set1 = set(lista1) 9 | print(set1) 10 | set2 = {"cachorro", "gato", "papagaio", "cachorro", "papagaio", "macaco", "galinha"} 11 | print(set2) 12 | 13 | # Criando um set a partir de uma string 14 | set3 = set("papagaio") 15 | print(set3) 16 | 17 | # Criando uma lista sem duplicatas através dos sets 18 | lista2 = ["Luiz", "Alfredo", "Felipe", "Alfredo", "Joana", "Carolina", "Carolina"] 19 | lista_sem_duplicatas = list(set(lista2)) 20 | print(lista_sem_duplicatas) 21 | 22 | # Removendo um item do set 23 | print(set2) 24 | set2.remove("cachorro") 25 | print(set2) 26 | 27 | # Funções úteis para se trabalhar com sets 28 | print(len(set2)) 29 | print("gato" in set2) 30 | print("elefante" in set2) 31 | 32 | set4 = {"Luiz", "Alfredo", "Joana", "Felipe", "Mauro"} 33 | set5 = {"Joana", "Carolina", "Afonso", "Carlos", "Mauro"} 34 | print(set4.difference(set5)) 35 | print(set4.intersection(set5)) 36 | 37 | set_backup = set4 38 | print(set_backup) 39 | set4.clear() 40 | print(set_backup) 41 | set() 42 | 43 | set4 = {"Luiz", "Alfredo", "Joana", "Felipe", "Mauro"} 44 | set_backup = set4.copy() 45 | print(set_backup) 46 | set4.clear() 47 | print(set_backup) -------------------------------------------------------------------------------- /08-dicionarios/08-dicionarios.py: -------------------------------------------------------------------------------- 1 | # Código utilizado no livro Aprenda Python Básico - Rápido e Fácil de entender, de Felipe Galvão 2 | # Mais informações sobre o livro: http://felipegalvao.com.br/livros 3 | 4 | # Capítulo 8: Dicionários 5 | 6 | # Criando nosso primeiro dicionário 7 | aluno = {"nome": "José", "idade": 20, "nota": 9.2} 8 | print(aluno) 9 | 10 | # Criando um dicionário vazio 11 | dict_vazio = {} 12 | print(dict_vazio) 13 | 14 | # Acessando elementos do dicionário pela chave 15 | print(aluno["nome"]) 16 | print(aluno["idade"]) 17 | 18 | # Acessando uma chave que não existe, o Python retorna um erro 19 | # print(aluno["Peso"]) 20 | 21 | # Modificando o valor de uma chave em um dicionário 22 | aluno["nota"] = 8.2 23 | # Para criar uma nova chave, basta definir uma chave não existente ainda no Dicionário 24 | aluno["peso"] = 74 25 | print(aluno) 26 | 27 | # Removendo uma ou todas as chaves de um dicionário 28 | del aluno["idade"] 29 | print(aluno) 30 | aluno.clear() 31 | print(aluno) 32 | 33 | # Funções úteis para se trabalhar com dicionários 34 | aluno = {"nome": "José", "idade": 20, "nota": 9.2} 35 | print(len(aluno)) 36 | 37 | print("idade" in aluno) 38 | print("peso" in aluno) 39 | 40 | print(aluno.get("nome")) 41 | print(aluno.get("peso")) 42 | print(aluno.get("peso", "Não existe")) 43 | 44 | print(aluno.items()) 45 | print(aluno.keys()) 46 | print(aluno.values()) 47 | 48 | aluno_original = {"nome": "José", "idade": 20, "nota": 9.2} 49 | aluno_update = {"peso": 75, "nota": 8.7} 50 | aluno_original.update(aluno_update) 51 | print(aluno_original) -------------------------------------------------------------------------------- /15-excecoes/15-excecoes.py: -------------------------------------------------------------------------------- 1 | # Código utilizado no livro Aprenda Python Básico - Rápido e Fácil de entender, de Felipe Galvão 2 | # Mais informações sobre o livro: http://felipegalvao.com.br/livros 3 | 4 | # Capítulo 15: Exceções 5 | 6 | print("Vamos dividir dois números inseridos por você\n") 7 | num1 = input("Insira o primeiro número: ") 8 | num2 = input("Insira o segundo número: ") 9 | 10 | # resultado = int(num1) / int(num2) 11 | # print("O resultado é " + str(resultado)) 12 | 13 | # try: 14 | # resultado = int(num1) / int(num2) 15 | # print("O resultado é " + str(resultado)) 16 | # except ZeroDivisionError: 17 | # print("O segundo número não pode ser zero") 18 | # except ValueError: 19 | # print("Você deve inserir dois números") 20 | 21 | # try: 22 | # resultado = int(num1) / int(num2) 23 | # print("O resultado é " + str(resultado)) 24 | # except: 25 | # print("Uma das entradas é inválida. Favor inserir dois números, sendo o segundo diferente que zero") 26 | 27 | # Blocos else e finally em exceções 28 | try: 29 | resultado = int(num1) / int(num2) 30 | print("O resultado é " + str(resultado)) 31 | except ZeroDivisionError: 32 | print("O segundo número não pode ser zero") 33 | except ValueError: 34 | print("Você deve inserir dois números") 35 | else: 36 | print("Divisão feita!") 37 | finally: 38 | print("Programa concluído") 39 | 40 | # Chamando exceções dentro do seu código com "raise" 41 | nome = input("Qual o seu nome? ") 42 | try: 43 | if nome == "Felipe": 44 | raise NameError("Não gostei do seu nome") 45 | print("Olá, %s" % nome) 46 | except NameError: 47 | print("O programa não gostou do seu nome") -------------------------------------------------------------------------------- /11-funcoes/11-funcoes.py: -------------------------------------------------------------------------------- 1 | # Código utilizado no livro Aprenda Python Básico - Rápido e Fácil de entender, de Felipe Galvão 2 | # Mais informações sobre o livro: http://felipegalvao.com.br/livros 3 | 4 | # Capítulo 11: Funções 5 | 6 | # Definição de função sem parâmetros e sem valor de retorno 7 | def print_ola_tres_vezes(): 8 | print("Ola Python") 9 | print("Ola Python") 10 | print("Ola Python") 11 | 12 | print_ola_tres_vezes() 13 | 14 | # Definição de uma função com parâmetro e valor de retorno 15 | def numero_ao_cubo(numero): 16 | valor_a_retornar = numero * numero * numero 17 | return(valor_a_retornar) 18 | 19 | numero = numero_ao_cubo(4) 20 | print(numero) 21 | 22 | # A chamada da função acima sem argumento retorna um erro 23 | # numero = numero_ao_cubo() 24 | 25 | # Definição de função com parâmetro com valor padrão 26 | def print_ola(nome="estranho"): 27 | print("Olá, " + nome) 28 | 29 | print_ola("Priscilla") 30 | print_ola() 31 | 32 | # Chamada de função com parâmetros nomeados 33 | def print_infos(nome, idade): 34 | print("Olá, meu nome é %s e tenho %d anos" % (nome, idade)) 35 | 36 | print_infos(idade=30, nome="Felipe") 37 | 38 | # Definição da função com número variável de argumentos: *args e **kwargs 39 | def print_tudo_2_vezes(*args): 40 | for parametro in args: 41 | print(parametro + "! " + parametro + "!") 42 | 43 | print_tudo_2_vezes("Olá", "Python", "Felipe") 44 | 45 | def print_info(**kwargs): 46 | for parametro, valor in kwargs.items(): 47 | print(parametro + " - " + str(valor)) 48 | 49 | print_info(nome="Felipe", idade=30, nacionalidade="Brasil") 50 | 51 | def print_info_2(nome, idade, **kwargs): 52 | print("Nome: " + nome) 53 | print("Idade: " + str(idade)) 54 | 55 | print("\nInformações adicionais:") 56 | for parametro, valor in kwargs.items(): 57 | print(parametro + " - " + str(valor)) 58 | 59 | print_info_2(nome="Felipe", idade=30, nacionalidade="Brasil", telefone="999998888") -------------------------------------------------------------------------------- /10-estruturas_de_controle/10-estruturas_de_controle.py: -------------------------------------------------------------------------------- 1 | # Código utilizado no livro Aprenda Python Básico - Rápido e Fácil de entender, de Felipe Galvão 2 | # Mais informações sobre o livro: http://felipegalvao.com.br/livros 3 | 4 | # Capítulo 10: Estruturas de Controle 5 | 6 | # Primeira estrutura de controle: If 7 | nome = input("Digite aqui seu nome: ") 8 | 9 | if nome == "Felipe": 10 | print("Olá, %s" % nome) 11 | 12 | if nome == "Felipe": 13 | print("Olá, %s" % nome) 14 | else: 15 | print("Olá, visitante") 16 | 17 | if nome == "Felipe": 18 | print("Olá, Felipe") 19 | elif nome == "Maria": 20 | print("Oi, Maria") 21 | elif nome == "Carlos": 22 | print("E aí, Carlos?") 23 | else: 24 | print("Olá, visitante") 25 | 26 | # Iterando com for sobre listas 27 | lista = ["Alfredo", "Mario", "José", "Carolina", "Joana", "Luiza"] 28 | for nome in lista: 29 | print(nome) 30 | 31 | # Iterando com for sobre dicionários 32 | aluno = {"nome": "Maria", "idade": 20, "nota": 9.2} 33 | 34 | print("Exemplo 1a - iterando sobre chaves") 35 | for chave in aluno: 36 | print(chave) 37 | 38 | print("\nExemplo 1b - iterando sobre chaves") 39 | for chave in aluno.keys(): 40 | print(chave) 41 | 42 | print("\nExemplo 2 - iterando sobre valores") 43 | for valor in aluno.values(): 44 | print(valor) 45 | 46 | print("\nExemplo 3 - iterando sobre ambos") 47 | for chave, valor in aluno.items(): 48 | print(chave + " - " + str(valor)) 49 | 50 | # Utilizando range para criar um intervalo de números 51 | print("Range com 1 parâmetro") 52 | for i in range(5): 53 | print(i) 54 | 55 | print("Range com 2 parâmetros") 56 | for i in range(3,10): 57 | print(i) 58 | 59 | # Break e continue em loops 60 | print("Exemplo break") 61 | for i in range(1,11): 62 | if i % 5 == 0: 63 | break 64 | print(i) 65 | 66 | print("Exemplo continue") 67 | for i in range(1,11): 68 | if i % 5 == 0: 69 | continue 70 | print(i) 71 | 72 | # Exemplo do loop while 73 | contador = 0 74 | while contador < 5: 75 | print(contador) 76 | contador = contador + 1 77 | 78 | # Exemplo com condição while true e break 79 | while True: 80 | nome = input("Digite seu nome ou sair para terminar o programa: ") 81 | if nome == "sair": 82 | break 83 | else: 84 | print("Olá, %s" % nome) -------------------------------------------------------------------------------- /13-programacao-orientada-a-objetos/13-programacao-orientada-a-objetos.py: -------------------------------------------------------------------------------- 1 | # Código utilizado no livro Aprenda Python Básico - Rápido e Fácil de entender, de Felipe Galvão 2 | # Mais informações sobre o livro: http://felipegalvao.com.br/livros 3 | 4 | # Capítulo 13: Programação Orientada a Objetos 5 | 6 | # Definindo nossa primeira classe 7 | class Usuario: 8 | contador = 0 9 | 10 | def __init__(self, nome, email): 11 | self.nome = nome 12 | self.email = email 13 | Usuario.contador += 1 14 | 15 | def diga_ola(self): 16 | print("Olá, meu nome é %s e meu email é %s" % (self.nome, self.email)) 17 | 18 | # Criando o primeiro objeto da classe 19 | usuario1 = Usuario(nome="Felipe", email="contato@felipegalvao.com.br") 20 | 21 | usuario1.diga_ola() 22 | print(usuario1.nome) 23 | 24 | # Alterando propriedade do objeto 25 | usuario1.nome = "Felipe Galvão" 26 | print(usuario1.nome) 27 | 28 | # Funções para alterar, recuperar e deletar uma propriedade 29 | print(hasattr(usuario1, "nome")) 30 | print(hasattr(usuario1, "idade")) 31 | print(getattr(usuario1, "email")) 32 | setattr(usuario1, "nome", "Felipe G.") 33 | setattr(usuario1, "idade", 30) 34 | print(getattr(usuario1, "nome")) 35 | print(getattr(usuario1, "idade")) 36 | delattr(usuario1, "idade") 37 | # print(getattr(usuario1, "idade")) 38 | 39 | # Variável de classe - contador 40 | usuario2 = Usuario(nome="Jurema", email="jurema@jurema.com") 41 | print(Usuario.contador) 42 | 43 | # Herança - Definição de uma classe estendida a partir de outra classe 44 | class Administrador(Usuario): 45 | def __init__(self, nome, email, chave_de_administrador): 46 | Usuario.__init__(self, nome, email) 47 | self.chave_de_administrador = chave_de_administrador 48 | 49 | 50 | def poder_administrativo(self): 51 | print("Eu tenho o poder! Minha chave é %s" % self.chave_de_administrador) 52 | 53 | 54 | usuario_adm = Administrador(nome="Admin", email="admin@admin.com", chave_de_administrador="123456") 55 | usuario_adm.diga_ola() 56 | usuario_adm.poder_administrativo() 57 | 58 | # Nova classe, sobrescrevendo o método diga_ola da classe original 59 | class MembroStaff(Usuario): 60 | def __init__(self, nome, email): 61 | Usuario.__init__(self, nome, email) 62 | 63 | def diga_ola(self): 64 | print("Olá, meu nome é %s e eu sou membro do Staff. Em que posso ajudar?" % (self.nome)) 65 | 66 | membro_staff_1 = MembroStaff(nome="Mariazinha", email="maria@zinha.com.br") 67 | membro_staff_1.diga_ola() -------------------------------------------------------------------------------- /06_listas/06_listas.py: -------------------------------------------------------------------------------- 1 | # Código utilizado no livro Aprenda Python Básico - Rápido e Fácil de entender, de Felipe Galvão 2 | # Mais informações sobre o livro: http://felipegalvao.com.br/livros 3 | 4 | # Capítulo 6: Listas 5 | 6 | # Definindo as primeiras listas 7 | alunos = ["José", "João", "Luiz"] 8 | notas = [8.5, 9.2, 6.7] 9 | print(alunos) 10 | print(notas) 11 | lista_vazia = [] 12 | print(lista_vazia) 13 | 14 | # Lista com itens de diferentes tipos 15 | lista_misturada = [12, 15.56, "Sorveteria", ["Baunilha", "Chocolate"]] 16 | print(lista_misturada) 17 | 18 | # Acessando elementos das listas 19 | print(alunos[0]) 20 | print(notas[2]) 21 | 22 | print(alunos[-1]) 23 | print(alunos[-3]) 24 | 25 | # Modificando elementos de uma lista 26 | print(notas) 27 | notas[2] = 7.7 28 | print(notas) 29 | 30 | # Adicionando itens a uma lista 31 | print(alunos) 32 | alunos.append('Alfredo') 33 | print(alunos) 34 | 35 | print(alunos) 36 | alunos.insert(1, "Daniela") 37 | print(alunos) 38 | 39 | print(alunos) 40 | novos_alunos = ['Carlos', 'Maria', 'Ana'] 41 | alunos.extend(novos_alunos) 42 | print(alunos) 43 | 44 | alunos1 = ['José', 'Daniel', 'João'] 45 | alunos2 = ['Maria', 'Ana', 'Carolina'] 46 | print(alunos1 + alunos2) 47 | 48 | print(notas*2) 49 | 50 | # Removendo itens da lista 51 | print(alunos) 52 | alunos.remove('João') 53 | print(alunos) 54 | 55 | print(alunos) 56 | aluno_removido = alunos.pop() 57 | print(aluno_removido) 58 | print(alunos) 59 | aluno_removido = alunos.pop(2) 60 | print(aluno_removido) 61 | print(alunos) 62 | 63 | alunos = ['José', 'Denis', 'Daniela', 'Carla', 'Carlos', 'Augusto', 'Denis'] 64 | print(alunos) 65 | alunos.remove('Denis') 66 | print(alunos) 67 | 68 | # Slicing de listas - pegar partes da lista baseado em intervalos definidos 69 | print(alunos) 70 | print(alunos[0:2]) 71 | print(alunos[2:4]) 72 | print(alunos[2:5]) 73 | 74 | print(alunos[:3]) 75 | print(alunos[3:]) 76 | 77 | print(alunos[1:-1]) 78 | print(alunos[2:-2]) 79 | 80 | # Funções úteis para trabalhar com strings 81 | print(len(alunos)) 82 | 83 | print(max(notas)) 84 | print(min(notas)) 85 | 86 | alunos_backup = alunos 87 | print(alunos_backup) 88 | alunos.clear() 89 | print(alunos_backup) 90 | 91 | alunos = ['José', 'Daniela', 'Carla', 'Carlos', 'Augusto', 'Denis'] 92 | alunos_backup = alunos.copy() 93 | print(alunos_backup) 94 | alunos.clear() 95 | print(alunos_backup) 96 | 97 | alunos = ['José', 'Daniela', 'Carla', 'Carlos', 'Augusto', 'Denis'] 98 | 99 | alunos.extend(['Daniela', 'Carla', 'Daniela']) 100 | print(alunos.count('Daniela')) 101 | 102 | alunos.sort() 103 | print(alunos) 104 | 105 | alunos.reverse() 106 | print(alunos) 107 | 108 | print("José" in alunos) 109 | print("Felipe" in alunos) 110 | 111 | alunos_string = "; ".join(alunos) 112 | print(alunos_string) 113 | alunos_lista = alunos_string.split("; ") 114 | print(alunos_lista) -------------------------------------------------------------------------------- /05-strings/05-strings.py: -------------------------------------------------------------------------------- 1 | # Código utilizado no livro Aprenda Python Básico - Rápido e Fácil de entender, de Felipe Galvão 2 | # Mais informações sobre o livro: http://felipegalvao.com.br/livros 3 | 4 | # Capítulo 5: Strings 5 | 6 | # Definindo as primeiras strings 7 | string1 = "Oi Python" 8 | string2 = 'Tchau Python' 9 | print(string1) 10 | print(string2) 11 | 12 | # Definindo strings com aspas triplas 13 | string_grande = '''Olá. Esta é uma string grande no Python. 14 | Aqui você pode usar " ou ' 15 | Caracteres são escapados como se espera. 16 | É a terceira forma de definir uma string, apesar de não ser tão usual.... 17 | \t testando o TAB para finalizar''' 18 | print(string_grande) 19 | 20 | # Usando aspas simples com aspas duplas e vice-versa 21 | string3 = "A cantora Sinnead O'Connor" 22 | string4 = 'Alfredo disse "Corram aqui para ver isso!"' 23 | print(string3) 24 | print(string4) 25 | 26 | # Para escapar caracteres, use a \ 27 | string5 = "Alfredo disse \"Corram aqui para ver isso!\"" 28 | string6 = 'Sinnead O\'Connor disse "Nothing compares 2 u"' 29 | print(string5) 30 | print(string6) 31 | 32 | # Escapando a contrabarra \ 33 | string7 = "Estou escapando uma \\" 34 | print(string7) 35 | 36 | # Definindo strings raw, com um r antecedendo a mesma 37 | string8 = r"Utilizamos \n para inserir uma nova linha na string" 38 | print(string8) 39 | 40 | # Inserindo variáveis em strings com % (caractere de formatação) 41 | nome = "Felipe" 42 | idade = 30 43 | print("Meu nome é %s " % nome) 44 | print("Tenho %d anos" % idade) 45 | 46 | # Inserindo e formatando decimais em strings 47 | a = 30.46257 48 | print("Formatando decimais: %f" % a) 49 | 50 | print("Formatando decimais: %.2f" % a) 51 | print("Formatando decimais: %.3f" % a) 52 | 53 | # Inserindo múltiplos valores em uma string 54 | nome = 'Felipe' 55 | idade = 30 56 | print("Meu nome é %s e tenho %d anos" % (nome, idade)) 57 | 58 | # Strings como listas; acessando caracteres 59 | string9 = "Olá, meu nome é Felipe" 60 | print(string9[0]) 61 | print(string9[3]) 62 | print(string9[21]) 63 | 64 | # Funções capitalize, upper e lower 65 | string10 = "olá, meu NOME é Felipe" 66 | print(string10.capitalize()) 67 | print(string10.upper()) 68 | 69 | # Exemplo da função center() 70 | string11 = "olá, meu nome é Felipe" 71 | print(string11.center(50,"*")) 72 | 73 | # Exemplo da função find 74 | string12 = "Olá, meu nome é Felipe" 75 | substring1 = "meu" 76 | print(string12.find(substring1)) 77 | substring2 = "José" 78 | print(string12.find(substring2)) 79 | 80 | print(string12.find(substring1, 7)) 81 | print(string12.find(substring1, 2)) 82 | 83 | # Funções isalnum, isalpha e isnumeric 84 | string13 = "Felipe" 85 | print(string13.isalnum()) 86 | print(string13.isalpha()) 87 | print(string13.isnumeric()) 88 | 89 | string14 = "1234" 90 | print(string14.isalnum()) 91 | print(string14.isalpha()) 92 | print(string14.isnumeric()) 93 | 94 | string15 = "Felipe1234" 95 | print(string15.isalnum()) 96 | print(string15.isalpha()) 97 | print(string15.isnumeric()) 98 | 99 | # Função len: retorna a quantidade de caracteres de uma string 100 | string16 = "Meu nome é Felipe" 101 | print(len(string16)) 102 | 103 | # Função replace: substitui uma parte da string por outra indicada como parâmetro 104 | string17 = "Olá, meu nome é Felipe" 105 | print(string17.replace("Felipe","José")) 106 | 107 | # Funções strip, rstrip e lstrip: removem espaços nas extremidades ou à esquerda ou à direita da string 108 | string18 = " Olá, meu nome é Felipe " 109 | print(string18) 110 | print(string18.strip()) 111 | print(string18.rstrip()) 112 | print(string18.lstrip()) --------------------------------------------------------------------------------