Olá Python!

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Olá Python! - Presentation Transcript

    1. OLÁ ! Henrique G. G. Pereira ikkibr@gmail.com
    2. Sobre a apresentação  Apresentação orientada a programadores ◦ Java, C, Pascal, C++, ...  Nenhum conhecimento prévio em Python é necessário ◦ Um pouco não vai machucar ninguém  Breve introdução ao Python ◦ Bem breve, mesmo.  Muita teoria/prática em um curto espaço de tempo
    3. O que é Python?  Altíssimo Nível  Interpretada  Multiplataforma ◦ Windows, Linux, Mac, BSD, Symbian  Multiparadigma ◦ OO, Procedural, Funcional
    4. Por que Python?  Simples ◦ Fácil de memorizar ◦ Fácil de aprender  Elegante ◦ Sintaxe descomplicada  Poderosa ◦ Biblioteca padrão gigantesca
    5. http://nerdson.com/blog/baterias-e-graos-incluidos/
    6. Como surgiu?  Guido van Rossum ◦ 1991 – Versão 0.9.0  Tipos básicos de dados (lista, tupla, dicionários) ◦ 1994 – Versão 1.0 ◦ 2001 – Versão 2.1  Python Software Foundation ◦ 2003 – Versão 2.3 ◦ 2006 – Versão 2.5
    7. E agora?  Outubro de 2008 ◦ Lançamento do Python 2.6  Preparando a migração para a próxima versão  Avisos de incompatibilidade com o Python 3000  Funcionalidades adaptadas da versão 3000
    8. Python 3000  3 de Dezembro de 2008: ◦ Python 3.0 final ◦ Quebra de compatibilidade ◦ Evolução ◦ Corrigir falhas
    9. Nada para se preocupar. Python 2.x vai continuar existindo. Por um bom tempo...
    10. O que pode ser feito?  Desenvolvimento Web ◦ Web.Py, CherryPy, Django, Zope, Plone, Pylons  Dispositivos Móveis ◦ PyS60, Python for Maemo, Python for PSP, PyMo  Multimídia e Entretenimento ◦ PyGame, PyMedia, PyOpenGL  Desenvolvimento Científico ◦ SciPy, BioPython, AstroPy, PIL
    11. Quem usa Python?  Google
    12. Quem usa Python?  Youtube
    13. Quem usa Python?  NASA  CERN  Nokia  DreamWorks  GIMP  Blender  OpenOffice
    14. Python é usado até na NASA?! E no Brasil?
    15. E no Brasil?  Brasil.gov.br
    16. E no Brasil?  Globo.com
    17. E no Brasil?  Stoq
    18. Onde posso encontrar mais?  Python Software Foundation ◦ http://www.python.org  PythonBrasil ◦ http://www.pythonbrasil.com.br
    19. Características Gerais  Sintaxe Simples  Tipagem Forte e Dinâmica  Interpretada ◦ Compilação implicita  Licença de Código Aberto ◦ Compatível com a GPL
    20. Olá Python! x Olá {PHP,C,Java} print “Olá Python!”
    21. Adeus Lesão por Esforço Repetitivo!
    22. Integrated DeveLopment Environment  Ambiente de desenvolvimento Integrado ◦ Feito em Python ◦ Vem com o Python
    23. Tipos (Básicos) de Dados  Inteiros (e Longos) a=5 b = 6000000000000000000000000000000000000012345678910*1234567 c=b/a  / no Python 2 é divisão de inteiros!  from __future__ import division  Número de Ponto Flutuante d = 16.27  Strings  formatadas como em C e = „henrique‟ f = „gabriel‟ g = “%s %s” % (e,f)  Booleanos ◦ True e False
    24. Estruturas (Básicas) de Dados  ( Tuplas ) ◦ Imutável ◦ Armazenar valores a = (5,6,‟eu‟,False)  [ Listas ] ◦ Mutável ◦ Trabalhar com valores ◦ Vetores <- b = [5,6,‟eu‟,False]  { Dicionários } ◦ chave->valor c = {„eu‟: False, 5:(6,7)} c[„eu‟] == False  Sets
    25. Entendendo o Básico  Atribuição: =  Comparação: ==  Diferença: != <>  Operadores Matemáticos: * / - +  Operadores Lógicos: and, or, not  Entrada de dados: input(), raw_input()  Saída: print
    26. Entendendo mais o Básico  Tudo são objetos (menos Nomes)  Objetos tem tipos. ◦ type(5)  <type 'int'> ◦ type(„eu‟)  <type 'str'> ◦ type([5,6,7])  <type 'list'>  Nomes não tem tipo ◦ Nomes apenas referenciam um objeto A= 5 B=A A= 6 B=?
    27. Estrutura de Controle if condição: funcao1() funcao2() elif condição2: funcao3() else: funcao4()
    28. Estruturas de Repetição Laço FOR Laço WHILE for variavel in lista: while condição: funcao1(variavel) funcao2() for variavel in range(10): while True: if variavel == 3: funcao3() break
    29. Juntando tudo em um baralho! valores = ['As']+list(range(2,11))+ \"Valete Dama Rei\".split() naipes = \"Paus Ouros Copas Espadas\".split() baralho = [ \"%s de %s\" % (v,n) for v in valores for n in naipes ] print baralho ['As de Paus', 'As de Ouros', 'As de Copas', 'As de Espadas', '2 de Paus', '2 de Ouros', '2 de Copas', '2 de Espadas', '3 de Paus', '3 de Ouros', '3 de Copas', '3 de Espadas', '4 de Paus', '4 de Ouros', '4 de Copas', '4 de Espadas', '5 de Paus', '5 de Ouros', '5 de Copas', '5 de Espadas', '6 de Paus', '6 de Ouros', '6 de Copas', '6 de Espadas', '7 de Paus', '7 de Ouros', '7 de Copas', '7 de Espadas', '8 de Paus', '8 de Ouros', '8 de Copas', '8 de Espadas', '9 de Paus', '9 de Ouros', '9 de Copas', '9 de Espadas', '10 de Paus', '10 de Ouros', '10 de Copas', '10 de Espadas', 'Valete de Paus', 'Valete de Ouros', 'Valete de Copas', 'Valete de Espadas', 'Dama de Paus', 'Dama de Ouros', 'Dama de Copas', 'Dama de Espadas', 'Rei de Paus', 'Rei de Ouros', 'Rei de Copas', 'Rei de Espadas']
    30. Como é que é?
    31. Entendendo o baralho!  Concatenação de Listas ◦ [5]+[„6‟]+“7,8”.split(“,”) == [5, „6‟, „7‟, „8‟]  String.split() ◦ “1,2,3,4”.split(“,”) == [„1‟, „2‟, „3‟, „4‟]  List Comprehension ◦ [x**x for x in [1,2,3,4] if x*2 >= 4]  [4, 27, 256]
    32. Voltando ao baralho!  Slicing: ◦ baralho[0]  'As de Paus' ◦ baralho[0:4]  ['As de Paus', 'As de Ouros', 'As de Copas', 'As de Espadas'] ◦ baralho[0:15:2]  ['As de Paus', 'As de Copas', '2 de Paus', '2 de Copas', '3 de Paus', '3 de Copas', '4 de Paus', '4 de Copas'] ◦ baralho[-1]  'Rei de Espadas'
    33. Embaralhando o baralho!  Módulo random ◦ Método shuffle  Embaralha.  shuffle(baralho)  ['As de Paus', '8 de Ouros', '2 de Espadas', '9 de Paus', '7 de Ouros', '2 de Paus', '4 de Ouros', 'As de Ouros', '4 de Espadas', 'As de Espadas', '5 de Ouros', 'Rei de Espadas', 'Valete de Paus', '9 de Espadas', '6 de Paus', 'Rei de Paus', 'As de Copas', '5 de Paus', '6 de Espadas', '8 de Espadas', '6 de Ouros', 'Dama de Espadas', 'Valete de Copas', '5 de Espadas', '3 de Espadas', '6 de Copas', '3 de Paus', '7 de Copas', '3 de Ouros', '8 de Copas', '2 de Copas', '7 de Espadas', '10 de Espadas', '10 de Paus', '10 de Ouros', '7 de Paus', 'Valete de Ouros', '9 de Copas', '2 de Ouros', '4 de Paus', 'Dama de Copas', 'Rei de Ouros', '9 de Ouros', '4 de Copas', 'Valete de Espadas', '5 de Copas', 'Dama de Ouros', '10 de Copas', '3 de Copas', 'Rei de Copas', 'Dama de Paus', '8 de Paus']
    34. Brincando com o baralho!  Inverter a ordem das cartas ◦ baralho.reverse()  Tirar a carta do topo do baralho ◦ baralho.pop()  Adicionar 3 coringas ao baralho ◦ baralho.extend([„Coringa‟]*3)  Ordenar o baralho (léxicamente) ◦ baralho.sort()  Ordenar pelo número de letras? Baralho.sort(key=len)
    35. Python tem a força!
    36. O poder da ordenação!  valores = [(-x)**x for x in range(1,10)] ◦ [-1, 4, -27, 256, -3125, 46656, -823543, 16777216, -387420489] ◦ Não ordenado. ◦ Valores.sort() ou variavel = sorted(valores)  [-387420489, -823543, -3125, -27, -1, 4, 256, 46656, 16777216]  Ordenação ao contrário? reverse=True  [16777216, 46656, 256, 4, -1, -27, -3125, -823543, -387420489]
    37. A força dos Conjuntos!  Coleção de valores únicos  Não ordenada ◦ set([5,7,5,6,7,28]) == set([28, 5, 6, 7])  list(set([28,5,6,7])) == [28, 5, 6, 7]
    38. Operações com conjuntos a = set([1,2,3]) b = set([2,3,4])  Operações básicas ◦ a.intersection(b)  set([2, 3]) ◦ a.union(b)  set([1, 2, 3, 4]) ◦ a-b  set([1]) ◦ b-a  set([4])
    39. Definindo funções def funcao(parametro, *parametros): print parametro for cada in parametros: print cada def fatorial(numero): if numero == 1: return 1 else: return numero*fatorial(numero-1) def fatorial2(numero): aux = 1 for x in range(1,numero+1): aux*=x return aux
    40. Já chega! Quero ir pra casa logo! E o tempo está acabando!
    41. Bibliotecas Úteis  sys  calendar  random  datetime  math  collections  urllib  decimal  re  csv  string  os  __future__  webbrowser http://docs.python.org/library/index.html
    42. Mais algumas considerações  Python é extensível ◦ C e C++ ◦ IronPython  .Net ◦ Jython  Java
    43. Até logo e obrigado pelos peixes! ikkibr@gmail.com Henr“Ikke” G. G. Pereira

    + ikkebrikkebr, 2 years ago

    custom

    507 views, 0 favs, 0 embeds more stats

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 507
      • 507 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 17
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories