Professor Marco Antonio Andrade

Resumão Python

12/11/2018 - 15 mins de leitura

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()))
Este site usa cookies próprios e de terceiros para melhorar os seus serviços, elaborar informação estatística e mostrar conteúdos ou serviços personalizados através da análise da sua navegação. Para aceitar o seu uso, você pode clicar em Aceitar ou continuar navegando. Além disso, você pode configurar ou rejeitar o uso de cookies ajustando suas Configurações. Para obter mais informações sobre o uso de cookies e seus direitos, acesse nossa Política de Cookies