Python

445 visualizações

Publicada em

Apresentação do Curso de Python - IFSULDEMINAS

Publicada em: Tecnologia
0 comentários
2 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
445
No SlideShare
0
A partir de incorporações
0
Número de incorporações
5
Ações
Compartilhamentos
0
Downloads
19
Comentários
0
Gostaram
2
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Python

  1. 1. Introdução a Python
  2. 2. 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 http://www.python.org.br
  3. 3. 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 (Windows, Linux, Mac, Android) ● Fácil de aprender
  4. 4. 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
  5. 5. Quem usa Python?
  6. 6. Quem usa Python?
  7. 7. Quem usa Python? Back-end
  8. 8. Quem usa Python? Animações gráficas
  9. 9. Quem usa Python? Computação Gráfica/Renderização
  10. 10. Quem usa Python? Computação Gráfica/Renderização
  11. 11. Hello World! “Hello World” em Java “Hello World” em C
  12. 12. Hello World! “Hello World” em python
  13. 13. Conceitos Básicos ● Case sensitive ● Indentação ● Operações matemáticas (+ - * / ** %) ● Números grandes ● Inteiros e quebrados ● Operações Lógicas (== != > < and or) ● type() ● Strings
  14. 14. Variáveis ● Nada a declarar! ● Variáveis são postites: a = 30 id(a) == id(30) ● Dinamicamente tipada ● Função str() a = 20 a + “laranja” ← ERRADO!!! str(a) + “laranja” ← CERTO =D
  15. 15. 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últiplas a, b = 1, 2 ● swap a, b = b, a
  16. 16. Entrada de Dados ● raw_input() ● Entrando com inteiros e float
  17. 17. Condições if, elif, else
  18. 18. 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
  19. 19. Repetições ● Imprimindo de 1 a 5 ● while(): ● Imprimindo números até um fim (e o conceito de contador)
  20. 20. Exercício 1 – Imprima os pares entre 0 e o número fornecido utilizando os conceitos de condição e repetição
  21. 21. 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]
  22. 22. Listas ● Acessamos listas por índices:
  23. 23. 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
  24. 24. Listas ● Se estiver na lista, ou se não estiver
  25. 25. 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
  26. 26. Função Map ● Alterar todos os itens de uma lista l = [1, 2 ,3] map(str, l) ● Escrevendo as próprias funções def plusplus(n): return n+1 map(plusplus, l)
  27. 27. 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
  28. 28. Resposta do Desafio
  29. 29. 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
  30. 30. 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/1994 Saída: 10 de setembro de 1994 ● Dica: Utilize uma lista para guardar os nomes dos meses.
  31. 31. Repetições II ● for c in “abcdefghi” ● range(10) ● range(5, 10) ● range(2, 20, 2) ● xrange(10) ● for l in lista:
  32. 32. Tratamento de Exceções ● try, except, else, finally
  33. 33. Módulo Random ● help(random) ● randint(1, 10) ● choice(lista ou string) ● shuffle(lista)
  34. 34. 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
  35. 35. 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
  36. 36. 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
  37. 37. Funções Saída ● 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
  38. 38. 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.
  39. 39. 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: ABCDE Texto criptografado: CDEFG ● É como fazer: letra = letra + 2 posições
  40. 40. 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
  41. 41. Resposta do Exercício
  42. 42. 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.
  43. 43. 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
  44. 44. 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.
  45. 45. 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()
  46. 46. Arquivos ● Mas se utilizarmos o argumento “a” (append) iremos atualizar o arquivo, escrevendo no final do mesmo Instruções Arquivo antes das instruções Arquivo depois das instruções
  47. 47. 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
  48. 48. 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.
  49. 49. Resposta
  50. 50. 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úsculas frase = frase.lower()
  51. 51. Dica
  52. 52. Resposta
  53. 53. sleep ● Importe a biblioteca time ● Utilize a função sleep() ● O parâmetro é o temo em segundos ● Útil para executar alguma tarefa de tempos em tempos
  54. 54. Manipulando dados da Web ● Automatizar a coleta e tratamento dos dados da web ● O que eu já fiz: Calcula CoRA ClickDisk Respondedor de Parabéns (Facebook) Searcher Bot WebGiz Bot Agenda Flood Google Forms Eleições 2014
  55. 55. Manipulando dados da Web ● Bibliotecas: urllib2 json mechanize selenium Beautiful Soup
  56. 56. urllib2 ● Abrindo um site urllib2.urlopen(site).read() http://pastebin.com/2q2YHZUJ
  57. 57. urllib2 ● Exemplo:
  58. 58. json ● JavaScript Object Notation ● É um formato para troca de dados
  59. 59. Eleições ● Basta abrir a url e tratar com o json ● dados = json.loads(resp)
  60. 60. Exercício ● Crie um programa que faça a apuração das eleições utilizando urllib2 e json ● Link com os dados: http://goo.gl/Uv8u0z ● Se não conseguir, utilize esse código como apoio: http://pastebin.com/uRnDZaTz
  61. 61. Mechanize ● Simula um Browser ● Clica em botões ● Preenche formulários http://pastebin.com/2YUPuSph
  62. 62. Selenium ● Controla as ações de um Browser real ● Ex: Controla tudo que o firefox faz
  63. 63. Threads ● Tarefas sendo executadas paralelamente ● Biblioteca: threading ● Como usar: threading.Thread(target = func, args = [1, 2]) http://pastebin.com/2YUPuSph
  64. 64. Dúvidas / Críticas / Sugestões?

×