52
Introdução a Python

Introducao ao python

Embed Size (px)

Citation preview

Page 1: Introducao ao python

Introdução a Python

Page 2: Introducao ao python

Sobre

● Criada por Guido van Rossum em 1991

● Nome inspirado pelo grupo de comédia Monty Python

● Linguagem interpretada, de tipagem dinâmica e forte

http://pt.wikipedia.org/wiki/Python

Page 3: Introducao ao python

Por que Python?

● Foque na lógica sem se preocupar com a sintaxe

● Interativa

● Bibliotecas inclusas (re, random, math, urllib2, time, zlib, threading, tkinter, PIL, numpy, etc)

● Orientada a objetos, funcional ou estruturada

● Uso geral

● Multi-plataforma

● Fácil de aprender

Page 4: Introducao ao python

Por que Python?

http://en.wikipedia.org/wiki/List_of_Python_software

● Blender 3D - 3D art and animation program● Django, web2py - web framework● PyGTK, PyQt, PySide - GUI● Biopython - Python molecular biology suite● SciPy - Alternativa gratuita para MATLAB● Matplotlib - MATLAB-like plotting and mathematical functions

Page 5: Introducao ao python

Quem usa Python?

Page 6: Introducao ao python

Quem usa Python?

Page 7: Introducao ao python

Quem usa Python?

Back-end

Page 8: Introducao ao python

Quem usa Python?

Animações gráficas

Page 9: Introducao ao python

Quem usa Python?

Computação Gráfica/Renderização

Page 10: Introducao ao python

Quem usa Python?

Computação Gráfica/Renderização

Page 11: Introducao ao python

Hello World!

“Hello World” em Java

“Hello World” em C

Page 12: Introducao ao python

Hello World!

“Hello World” em python

Page 13: Introducao ao python

Conceitos Básicos

● Case sensitive

● Identação

● Operações matemáticas (+ - * / ** %)

● Números grandes

● Inteiros e quebrados

● Operações Lógicas (== != > < and or)

● type()

● Strings

Page 14: Introducao ao python

Variáveis

● Nada a declarar!

● Variáveis são postites:a = 30id(a) == id(30)

● Dinamicamente tipada

● Função str()a = 20a + “laranja” ← ERRADO!!!str(a) + “laranja” ← CERTO =D

Page 15: Introducao ao python

Marcações

● Imprimindo variáveis● print “a = %d” %(a)● print “Pi = %.2f” %(3.1415)● print “a =”, a● print “a = {0} e b = {1}” .format(a, b)

● Aspas simples e duplas

● Atribuições múltiplasa, b = 1, 2

Page 16: Introducao ao python

Entrada de Dados

● raw_input()

● Entrando com inteiros e float

Page 17: Introducao ao python

Condições

if, elif, else

Page 18: Introducao ao python

Exercícios

1 – Faça um programa que leia dois números e imprima o maior deles

2 – Faça um programa que leia três números e imprima o maior deles

3 – Faça um programa que leia dois textos e compare se eles são iguais

Page 19: Introducao ao python

Repetições

● Imprimindo de 1 a 5

● while():

● Imprimindo números até um fim (e o conceito de contador)

Page 20: Introducao ao python

Exercício

1 – Imprima os pares entre 0 e o número fornecido utilizando os conceitos de condição e repetição

Page 21: Introducao ao python

Listas

● Listas são como vetores em C

● Uma mesma lista pode armazenar qualquer outro tipo de dado, incluindo outra lista

● Inicializamos uma lista vazia da seguinte forma:

lista = []

● Ou uma lista com elementos da seguinte forma:lista = [“Vinicius”, 19, “laranja”, 3.1415]

Page 22: Introducao ao python

Listas

● Acessamos listas por índices:

Page 23: Introducao ao python

Listas

● Acrescentamos itens ao final da lista da seguinte forma:

● Não é possível acrescentar itens em uma lista utilizando índices, mas podemos modificar itens

Page 24: Introducao ao python

Listas

● Se estiver na lista, ou se não estiver

Page 25: Introducao ao python

Listas

● Função len()A função len() retorna o tamanho. Pode ser o tamanho de uma string ou o tamanho de uma lista por exemplo

Page 26: Introducao ao python

Exercício

1 – Dada a lista abaixo, calcule e imprima a média aritmética.

lista = [8.5, 9.2, 4.0, 10.0]

2 – Crie um programa que adicione itens em uma lista sem repetir nenhum item.

Desafio:Faça um programa que leia dez caracteres e diga quantas consoantes foram lidas

Page 27: Introducao ao python

Resposta do Desafio

Page 28: Introducao ao python

Strings

● Acessando por índices

● Última posição

● Da posição m até a n-1

● Pulando de dois em dois

● De trás para frente

● Strings são imutáveis

● startswith, endswith, lower, upper, find, replace, split, join

Page 29: Introducao ao python

Exercício

1 – Faça um programa que peça para o usuário digitar a data no formato dd/mm/aaaa. No final, imprima o mês por extenso. Por exemplo:

Entrada: 10/09/1994Saída: 10 de setembro de 1994

● Dica: Utilize uma lista para guardar os nomes dos meses.

Page 30: Introducao ao python

Repetições II

● for in “abcdefghi”

● range(10)

● range(5, 10)

● for in lista:

Page 31: Introducao ao python

Tratamento de Exceções

● try, except, else, finally

Page 32: Introducao ao python

Módulo Random

● help(random)

● randint(1, 10)

● choice(lista ou string)

● shuffle(lista)

Page 33: Introducao ao python

Exercício

1 – Faça um programa que gere uma lista com 10 números aleatórios entre 0 e 10, escolha aleatoriamente dois números e tente fazer a divisão entre eles.Utilize “for”, o módulo random aprendido e o tratamento de exceções em caso de divisão por zero

Page 34: Introducao ao python

Funções

● Definimos uma função da seguinte forma:

● Funções em python são muito fáceis!Não precisamos nos preocupar com o retorno

● Se o retorno for float, a função retorna float automaticamente. Isso serve para todos os tipos de dados.

● Se não existir o comando “return” ela simplesmente não retorna nada

Page 35: Introducao ao python

Funções

● Exemplo de função que não retorna nada

● Um outro conceito importante que devemos ver é o escopo das variáveis. Uma variável pode ser global ou local. Por padrão a variável é local. Para torná-la global precisamos dizer para a função que ela é global. Veremos no próximo slide um exemplo que ilustra isso

Page 36: Introducao ao python

Funções

● Podemos ver que a funcao1() não altera o valor da variável global. Já a funcao2() altera. Para isso utilizamos o identificador “global” que diz que a variável “a” que estamos nos referindo é global. Caso a variável a não existisse, a funcao2() criaria um variável global

Saída

Page 37: Introducao ao python

chr() e ord()

● A letra “A” (maiúscula), na tabela ASCII é representada pelo número 65

● Podemos ver isso em python utilizando a função ord(). Tente ord(“A”) no modo interativo.

● Podemos fazer o contrário também, utilizando a função chr(). Tente chr(110) no modo interativo.

Page 38: Introducao ao python

Cifra de César

● Cifra de César é uma das mais simples e conhecidas técnicas de criptografia. Ela consiste em mover É um tipo de cifra de substituição na qual cada letra do texto é substituída por outra representada no mesmo alfabeto. A substituição ocorre alterando a posição definida.

● Por exemplo:Texto normal: ABCDETexto criptografado: CDEFG

● É como fazer:letra = letra + 2 posições

Page 39: Introducao ao python

Exercício

1 - Crie um programa que contenha duas funções. Uma codifica o texto e a outra decodifica. Utilize a Cifra de César. Faça também com que o número de casas deslocadas seja fornecida como argumento de cada função

Page 40: Introducao ao python

Resposta do Exercício

Page 41: Introducao ao python

HTML em variáveis

● Podemos armazenar textos com várias linhas. Para fazer isso devemos apenas escrever tudo entre três aspas (simples ou duplas).

Exemplo:

● Isso pode ser muito útil para criar uma página em html.

Page 42: Introducao ao python

Arquivos

● Vamos agora manipular arquivos com python. Para abrir arquivos usamos a função open()

● Essa função recebe dois parâmetros. O primeiro é o caminho do arquivo. O segundo é o modo como ele será aberto.

● O arquivo pode ser aberto para leitura (r), gravação (w) ou atualização (a).

● Vejamos um exemplo

Page 43: Introducao ao python

Arquivos

● Quando utilizamos a função open() sem o segundo argumento, o arquivo é aberto automaticamente como leitura (mode 'r')

● Utilizamos read() para ler o conteúdo do arquivo e split() para retirar o \n.

Page 44: Introducao ao python

Arquivos

Instruções Arquivo antes das instruções

Arquivo depois das instruções

● Quando utilizamos o argumento “w”, se o arquivo existir, seu conteúdo será sobrescrito

● Antes de sair do programa, devemos sempre fechar o arquivo com close()

Page 45: Introducao ao python

Arquivos

Instruções Arquivo antes das instruções

Arquivo depois das instruções

● Mas se utilizarmos o argumento “a” (append) iremos atualizar o arquivo, escrevendo no final do mesmo

Page 46: Introducao ao python

Dicionário

● Dicionário é como uma lista. Porém, acessamos os índices através de chaves. Inicializamos um dicionário com {}

● Para adicionar novos itens não precisamos utilizar append. Basta fazer a atribuição.-Se a chave já existir, o valor será alterado-Se a chave não existir, será criada

Page 47: Introducao ao python

Exercício

1 – Faça um programa que o usuário digitará o nome e a idade de dez pessoas. Os dados digitados devem ser armazenados em um dicionário. No final, exiba o nome de todas as pessoas seguidas de suas respectivas idades.

Page 48: Introducao ao python

Resposta

Page 49: Introducao ao python

Desafio

1 – Faça um programa que leia o arquivo alice.txt e calcule o número de ocorrências de cada palavra.

● Dica: Para evitar problemas com acentuações e pontuações, vamos ver uma técnica interessante para preparar o nosso texto.

● Utilizaremos a biblioteca string

● Dica 2: Faça todas as palavras serem minúsculasfrase = frase.lower()

Page 50: Introducao ao python

Dica

Page 51: Introducao ao python

Resposta

Page 52: Introducao ao python

Dúvidas / Críticas / Sugestões?