
Resumão Python
Este é um resumão da linguagem Python para quem já sabe programar.
Para utilizar o interpretador do Python 3 basta chama-lo no terminal:
python3
Variáveis
Para declarar uma variável basta nomea-la e acrescentar algum conteúdo:
nome = "Maria"
idade = 12
salario = 1200.30
matriculado = True
Para imprimir utilize o comando print
:
print("Olá mundo!")
print(nome)
print(idade)
print("Nome: " + nome)
print(60 - idade)
Podemos imprimir da seguinte forma:
print("Nome: %s" % nome)
print("Idade: %d e salário %.2f" % (idade, salario))
print("Salário: %.2f" % (salario * 0.9))
Verificando o tipo da variável:
type(nome)
type(idade)
type(salario)
type(matriculado)
Caso a variável receba um novo conteúdo de um tipo diferente automaticamente assume um novo tipo:
idade = "12"
type(idade)
As variáveis também podem receber dados informados pelo usuário:
nome = input('Informe o nome: ')
idade = int(input('Informe a idade: '))
salario = float(input('Informe o salário: '))
Operadores
Teste o uso dos operadores diretamente no console.
Aritméticos
2 + 3
3 - 2
3 * 2
4 / 2
4 % 2
5 % 2
2 ** 4
Relacionais
a = 2
b = 1
a > b
a >= b
a < b
a <= b
a != b
a == b
Lógicos
not True
a == 2 and b < 2
a > 2 or b > 2
1 < a < 3
Decisão
A estrutura de decisão disponível no Python é o if:
a = 2
b = 3
if a < b:
print("A é menor que B")
if a > b:
print("A é maior que B")
Um exemplo utilizando if else
idade = 13
if idade >= 18:
print("É maior de idade")
else:
print("É menor de idade")
Estrutas aninhadas
if a < b:
print("A é menor que B")
else:
if a > b:
print("A é maior que B")
else:
print("A é igual a B")
Um exemplo utilizando elif
if a < b:
print("A é menor que B")
elif a > b:
print("A é maior que B")
else:
print("A é igual a B")
Loops
Uma dos laços de repetição utilizados pelo Python é o while, que repete um bloco de condigo enquanto uma determinada condição for verdadeira. No exemplo a seguir utilizamos o loop while para imprimir a tabuada do 9:
n = 9
x = 1
while x <= 10:
print(str(n) + " * " + str(x) + " = " + str(n * x))
x = x + 1
Um exemplo de laço while com interropção quando um número par é informado:
while True:
num = int(input('Informe um número: '))
if num % 2 == 0:
break
print("Número ímpar informado!")
Além do loop while também temos o loop for. No exemplo a seguir imprimimos um range de números, iniciando em 0 e terminando em 9:
for i in range(0,10):
print(i)
Listas
Declarando uma lista de números inteiros:
numeros = [2, 5, 4, 6, 8, 10, 12]
# uma lista vazia:
lista = []
Obtendo um item de uma determinada posição da lista:
numeros[2]
Alterando os dados de uma determinada posição da lista:
numeros[0] = 1
Adicionando items em uma lista:
numeros.append(19)
Removendo items de uma lista:
del numeros[3]
Imprimindo uma lista:
for n in numeros:
print(n)
Fatiando uma lista:
# 3 primeiros itens da lista
numeros[0:3]
# Podemos ocultar o 0:
numeros[:3]
# Do item 3 ao 5
numeros[2:5]
# A partir do 3º item
numeros[3:]
# Os 3 últimos itens da lista
numeros[-3:]
Uma lista pode conter objetos de diveros tipos, veja uma lista onde declaramos nomes e idade de alunos:
alunos = ["Maria", 12, "José", 13]
Imprima a lista de alunos:
for a in alunos:
print(a)
Tuplas
As tuplas são parecidas com as listas, mas são imutáveis. Declarando uma tupla:
num_sorteados = (10, 2, 5, 56, 18, 19)
Tente alterar o conteúdode algum item da tupla:
num_sorteados[0] = 3
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
Dicionários
Os dicionários são parecidos com as listas, entretanto, são acessador por um conjunto chave e valor:
produtos = {
"alface": 2.50,
"banana": 7.00,
"laranja": 3.45
}
Imprimindo um determinado item do dicionário:
print(produtos['alface'])
Imprimindo um dicionário:
for produto in produtos:
print(produto + " R$" + str(produtos[produto]))
Alterando o conteúdo de um valor:
produtos['laranja'] = 3.90
Excluindo um conjunto chave e valor:
del produtos['banana']
Sets
Um conjunto em Python não admite valores repetidos:
conjunto = {1,2,3,4,3,2}
print(conjunto)
Adicionando elementos:
conjunto.add(10)
Removendo elementos:
conjunto.remove(2)
Também podemos fazer as operções classicas de conjuntos, como união:
a = {1, 3, 4}
b = {8, 9, 2}
a.union(b)
Intersecção:
c = {1, 2, 3}
a & c
Diferença:
a - c
Complementar:
a ^ c
Strings
Dada as string:
nome = "Maria"
sobrenome = " da Silva"
Podemos percorre-la como uma lista, veja:
for n in nome:
print(n)
Obtendo o tamanho de uma string:
len(nome)
Fatiando uma string:
# 3 primeiros caracteres da string
nome[:3]
# Do caracter com índice 3 ao com índice 5
nome[2:5]
# A partir do 3º caracter
nome[3:]
# Os 3 últimos caracteres da string
nome[-3:]
Algumas verificações que podemos realizar:
# Inicia com Ma
sobrenome.startswith(' da');
# Termina com ro
sobrenome.endswith('va')
Algumas conversões que podemos realizar:
# Convertendo para maiúsculas
sobrenome.upper()
# Convertendo para minúsculas
sobrenome.lower()
Pesquisando se uma string contém determinados caracteres:
'Sil' in sobrenome
'Sil' not in sobrenome
Contando quantas letras ou conjunto de letras existem em uma string:
frase = "um tigre, dois tigres, três tigres"
frase.count("tigres")
frase.count("t")
Separando uma string a partir da vírgula (pode ser qualquer caracter) e colando dentro de uma lista:
periodos = frase.split(",")
print(periodos)
Substituindo caracteres em uma string:
frase.replace("tigres", "gatos")
Removendo espaços em branco no início e fim de uma string:
nome = " Maria da Silva "
print(nome.strip())
Funções
Definindo uma função com Python:
def somar(a, b):
print(a + b)
Utilizando a função:
somar(2,3)
As funções também podem ter retorno:
def subtrair(a, b):
return a - b
Utilizando a função com retorno:
print(subtrair(2,3))
Outro exemplo:
def par(n):
if n % 2 == 0:
return True
else:
return False
print(par(3))
Os parâmetros recebidos pelas funções podem ter valores padrão. No exemplo a seguir, caso a função subtrair receba um terceiro parâmetro poderá imprimir uma mensagem, caso contrário não:
def subtrair(a, b, imprime = False):
if imprime:
print("%.2f - %.2f = %.2f" % (a, b, (a - b)))
return a - b
subtrair(4, 2)
subtrair(4, 2, True)
Arquivos
Abrindo, gravando o conteúdo e fechando um arquivo:
arquivo = open("dados.txt", "w")
for linha in range(1,11):
arquivo.write("Conteúdo da linha %d\n" % linha)
arquivo.close()
Também podemos utilizar listas:
arquivo = open("dados.txt", "w")
texto = []
texto.append("# Python 3\n")
texto.append("## Trabalhando com arquivos\n")
texto.append("* Lendo\n")
texto.append("* Escrevendo\n")
arquivo.writelines(texto)
arquivo.close()
Abrindo, colocando o conteúdo em uma variável e fechando um arquivo:
arquivo = open("dados.txt", "r")
texto = arquivo.read()
print(texto)
arquivo.close()
Abrindo, imprimindo o conteúdo e fechando um arquivo:
arquivo = open("dados.txt", "r")
for linha in arquivo.readlines():
print(linha)
arquivo.close()
Orientação a objetos
Definindo uma classe em Python. Observe que o construtor é utilizado para definir os atributos da classe Cliente:
class Cliente:
def __init__(self, nome, email):
self.nome = nome
self.email = email
A idéia é que a classe Cliente seja salva no arquivo Cliente.py, e para importa-la no arquivo banco.py faça assim:
from Cliente import Cliente
Criando um objetos a partir da classe Cliente;
joao = Cliente("João da Silva", "joao@gmail.com")
maria = Cliente("Maria da Silva", "maria@gmail.com")
Imprimindo os atributos do objeto joão:
print(joao.nome)
print(joao.email)
Agora vamos definir uma classe Conta:
class Conta:
def __init__(self, cliente):
self.cliente = cliente
self._saldo = 0
# E definir métodos para depositar, sacar e consultar saldo
def depositar(self, valor):
self._saldo += valor
def sacar(self, valor):
if self._saldo >= valor:
self._saldo -= valor
def saldo(self):
return self._saldo
O _ (underline) define o atributo como protected. Para defini-lo como privado utilize __ (duplo underline).
Importando a classe Conta no arquivo banco.py
from Conta import Conta
Criando uma conta a partir da classe Conta:
c1 = Conta(joao)
Utilizando os métodos para depositar e sacar:
c1.depositar(100)
c1.sacar(30)
print("O saldo da conta é de R$ " + str(c1.saldo()))
Utilizando herança vamos criar uma conta especial:
from Conta import Conta
class ContaEspecial(Conta):
def __init__(self, cliente):
Conta.__init__(self, cliente)
self.limite = 100.00
# E criar um método sacar que considera o limite da conta
def sacar(self, valor):
if self._saldo + self.limite >= valor:
self._saldo -= valor
Novamente, importando a nossa ContaEspecial no arquivo banco.py:
from ContaEspecial import ContaEspecial
Testando nossa classe ContaEspecial:
c2 = ContaEspecial(maria)
# A princípio não poderíamos sacar, pois a conta não tem saldo
# Entretando, há um limite de R$ 100,00
c2.sacar(40)
print("O saldo da conta é de R$ " + str(c2.saldo()))