é uma linguagem                         interpretada, interativa,                         funcional, orientada a objetos, ...
Prof. Fabio Alexandre Spanhol, M.Sc.                                       3
Guido van Rossum é referido                                  pela comunidade python,                                  desd...
Não veio da cobra!                                       ◦ "Over six years ago, in December 1989,                         ...
Prof. Fabio Alexandre Spanhol, M.Sc.                                       6
NADA!Python foi desenvolvido como um projetoopen source, sem fins lucrativos egerenciado pela PSF (Python SoftwareFoundati...
Para obter o interpretador Pythonacessarhttp://www.python.org/download/Versões◦ Python 2.7.1 foi liberada em 27 de  novemb...
http://www.python.org/about/success/◦ Google◦ NASA◦ Yahoo◦ InfoSeek◦ MCI Worldcom◦ IBM◦ Higway◦ Industrial Light and Magic...
Governo FederalPetrobrasSerproEmbratelGlobo.comStarOneConectivaCPqDAsyncHaxentUTFPR...Prof. Fabio Alexandre Spanhol, M.Sc....
Vários projetos da comunidade Software Livre◦ Blender◦ OpenOffice◦ Zope/Plone◦ MoinMoin◦ Mailman◦ BitTorrent◦ Chandler◦ Gi...
Web e InternetDatabaseGUIsCientífico e processamento numéricoEducaçãoProgramação de redeConstrução e teste de softwareDese...
Prof. Fabio Alexandre Spanhol, M.Sc.                                       13
Unix: HP-UX, Solaris ...Linux (freqüentemente pré-instalada)Mac OSX (sempre pré-instalada)Windows: 9x, ME, 2K, XP, Vista, ...
Compilação Híbridacomo     Java,    programas     Python    sãocompilados, porém para uma linguagemintermediária, destinad...
De altíssimo nível e                                       poderosa                                       Elegante, com si...
Prof. Fabio Alexandre Spanhol, M.Sc.                                       17
Prof. Fabio Alexandre Spanhol, M.Sc.                                       18
Prof. Fabio Alexandre Spanhol, M.Sc.                                       19
Prof. Fabio Alexandre Spanhol, M.Sc.                                       20
Extensa biblioteca                                       padrão                                       Um módulo para o que...
Prof. Fabio Alexandre Spanhol, M.Sc.                                       22
29 palavras reservadas◦ (Java tem 52 e C# 77)and                   exec      notassert                finally   orbreak   ...
IDLEinterpretadorProf. Fabio Alexandre Spanhol, M.Sc.                                       24
Cython◦ onde existir um compilador C ISO/IEC 9899:1990Jython◦ máquina virtual JavaPyPy◦ Python implementado em PythonPytho...
Python é case-sensitiveCada linha é delimitada por enterTipagem forte e dinâmica◦ Não há declaração de variáveisComentário...
A estrutura dos blocos é definida pelaindentação◦ Não misturar tabulações com espaços    for i in range(25):       if i%3 ...
Inteiros◦ x = 10◦ y = 56859898958711346465165798798715654000000000000**2◦ z = y + x   32330481095948636620314215866181636...
Usando type>>> x = 2>>> print type(x)<type int>>>> x = "dois">>> print type(x)<type string>>>> x = 10.2>>> print type(x)<t...
Tuplas◦ Imutáveis◦ (‘Fabio’,32, False, 92.5,186)Listas◦ mutáveis◦ [‘Fabio’,32, False, 92.5,186]Dicionários◦ Chaves com val...
Entrada com raw_input◦ nome=raw_input("Qual o seu nome?")◦ idade=int(raw_input(“Qual a sua idade?”)Saída com print◦ print ...
ifif (expressao):   bloco[elif (expressao):   bloco][else:   bloco]  Prof. Fabio Alexandre Spanhol, M.Sc.                 ...
exemplos = raw_input(“número entre 0 e 100? ")n = int(s)if not 0 < n < 100:   print "Número inválido."if n % 2 == 0:   pri...
forfor variavel in sequencia:   bloco[else:   bloco] whilewhile (expressao):   bloco[else:   bloco] Prof. Fabio Alexandre ...
Exemplo#encoding: utf-8cores=[‘verde,‘amarelo,‘azul,‘branco]for cor in cores: print cor  é minha cor favorita!  Prof. Fabi...
Modularizam o código#encoding: utf-8#função que escreve n termos da série de fibonaccidef fibo(n):    a,b,t=0,1,1    while...
Prof. Fabio Alexandre Spanhol, M.Sc.                                       37
Não vamos complicar!Prof. Fabio Alexandre Spanhol, M.Sc.                                       38
Prof. Fabio Alexandre Spanhol, M.Sc.                                       39
Prof. Fabio Alexandre Spanhol, M.Sc.                                       40
Prof. Fabio Alexandre Spanhol, M.Sc.                                       41
Inverter a ordem das cartas◦ baralho.reverse()Tirar a carta do topo◦ baralho.pop()Adicionar 4 coringas◦ baralho.extend([‘C...
Prof. Fabio Alexandre Spanhol, M.Sc.                                       43
Também tem!                  Você pode fazer programação                  Funcional sem Lost in Stupid                  Pa...
Prof. Fabio Alexandre Spanhol, M.Sc.                                       45
Prof. Fabio Alexandre Spanhol, M.Sc.                                       46
faspanhol@gmail.com                                         @_photon_                www.slideshare.net/_photon_Prof. Fabi...
"Mostrando a Cobra" - ou Breve Introdução à Linguagem Python
Upcoming SlideShare
Loading in …5
×

"Mostrando a Cobra" - ou Breve Introdução à Linguagem Python

746 views

Published on

Palestra ministrada no 5 JavaTech, Univel, Cascavel, PR, em 08/06/2011.

Published in: Technology
2 Comments
0 Likes
Statistics
Notes
  • (Ok .acabei de ver os slides -- é uma apresentação bem completa - desculpe epla verbosidade do comentário ao primeiro slide - afinal, voce entra em detalhes sobre o que comentei depois -
    Pena que o Slideshare truncrou seus slides. Eles foram feitos em formato widescreen?
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Boa tarde Prof. -
    Voce menciona como primeiro atributo de Python que ela é uma linguagem 'interpretada'. Hoje em dia embora essa distinção (interpretada/compilada) sej aum pouco difusa, isso está um pouco incorreto em relação a Python: ela é tão interpretada, ou tão compilada quanto Java - ambas são compiladas para Bytecode, que é interpretado numa máquina virtual bastante eficiente.

    A distinção fundamental entre Python e Java não é que uma seria 'interpretada' e outra 'compilada', mas que uma é 'dinâmica' e outra 'estática' (e as diferenças do tempo de execução para determinadas categorias de código advem daí).

    Grato pela atenção - (vou checar rapidamente os restante da palestra - desculpe escrever assim - é que costumo ministrar palestras sobre Python também, e essa sua palestra parece bastante promissora (estou no primeiro slide) e esse é um erro conceitual imporante, principalmente na apresentação de Python para uma plateia conhecedora do Java
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

No Downloads
Views
Total views
746
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
28
Comments
2
Likes
0
Embeds 0
No embeds

No notes for slide

"Mostrando a Cobra" - ou Breve Introdução à Linguagem Python

  1. 1. é uma linguagem interpretada, interativa, funcional, orientada a objetos, dinamicamente tipada e com gerenciamento automático de memória Similar em certos aspectos a Perl, Ruby, Scheme, Smalltalk e TclProf. Fabio Alexandre Spanhol, M.Sc. 2
  2. 2. Prof. Fabio Alexandre Spanhol, M.Sc. 3
  3. 3. Guido van Rossum é referido pela comunidade python, desde 1995, como Benevolent Dictator For Life (BDFL) ◦ Desde dezembro de 2005 Guido trabalha na Google, dedicando 50% do seu tempo com a linguagem ◦ www.python.org/~guido ◦ neopythonic.blogspot.com/Prof. Fabio Alexandre Spanhol, M.Sc. 4
  4. 4. Não veio da cobra! ◦ "Over six years ago, in December 1989, I was looking for a "hobby" programming project that would keep me occupied during the week around Christmas. My office ... would be closed, but I had a home computer, and not much else on my hands. I decided to write an interpreter for the new scripting language I had been thinking about lately: a descendant of ABC that would appeal to Unix/C hackers. I chose Python as a working title for the project, being in a slightly irreverent mood (and a big fan of Monty Python´s Flying Circus)”.Prof. Fabio Alexandre Spanhol, M.Sc. 5
  5. 5. Prof. Fabio Alexandre Spanhol, M.Sc. 6
  6. 6. NADA!Python foi desenvolvido como um projetoopen source, sem fins lucrativos egerenciado pela PSF (Python SoftwareFoundation)Prof. Fabio Alexandre Spanhol, M.Sc. 7
  7. 7. Para obter o interpretador Pythonacessarhttp://www.python.org/download/Versões◦ Python 2.7.1 foi liberada em 27 de novembro de 2010◦ Python 3.2* foi liberada em 20 de fevereiro de 2011Prof. Fabio Alexandre Spanhol, M.Sc. 8
  8. 8. http://www.python.org/about/success/◦ Google◦ NASA◦ Yahoo◦ InfoSeek◦ MCI Worldcom◦ IBM◦ Higway◦ Industrial Light and Magic◦ AstraZeneca◦ Honeywell◦ ... Prof. Fabio Alexandre Spanhol, M.Sc. 9
  9. 9. Governo FederalPetrobrasSerproEmbratelGlobo.comStarOneConectivaCPqDAsyncHaxentUTFPR...Prof. Fabio Alexandre Spanhol, M.Sc. 10
  10. 10. Vários projetos da comunidade Software Livre◦ Blender◦ OpenOffice◦ Zope/Plone◦ MoinMoin◦ Mailman◦ BitTorrent◦ Chandler◦ Gimp◦ Plone◦ Django◦ OpenERP◦ inVesaliusProf. Fabio Alexandre Spanhol, M.Sc. 11
  11. 11. Web e InternetDatabaseGUIsCientífico e processamento numéricoEducaçãoProgramação de redeConstrução e teste de softwareDesenvolvimento de jogos erenderização 3DOnde mais sua imaginação mandar!Prof. Fabio Alexandre Spanhol, M.Sc. 12
  12. 12. Prof. Fabio Alexandre Spanhol, M.Sc. 13
  13. 13. Unix: HP-UX, Solaris ...Linux (freqüentemente pré-instalada)Mac OSX (sempre pré-instalada)Windows: 9x, ME, 2K, XP, Vista, Seven(ctypes, win32all)Nokia Série 60 e MaemoPalmOS (PipPy)Prof. Fabio Alexandre Spanhol, M.Sc. 14
  14. 14. Compilação Híbridacomo Java, programas Python sãocompilados, porém para uma linguagemintermediária, destinada a um interpretador◦ Tal como Java, isso isola Python de muitas das excentricidades das máquinas reais na qual ele roda, provendo um nível de portabilidade equivalente a JavaProf. Fabio Alexandre Spanhol, M.Sc. 15
  15. 15. De altíssimo nível e poderosa Elegante, com sintaxe simples e concisa Fácil de aprender, “cabe” no seu cérebro ! Multiparadigma: Funcional, Procedural e Orientado a Objetos Possui suporte nativo a estruturas de dados complexas 16Prof. Fabio Alexandre Spanhol, M.Sc.
  16. 16. Prof. Fabio Alexandre Spanhol, M.Sc. 17
  17. 17. Prof. Fabio Alexandre Spanhol, M.Sc. 18
  18. 18. Prof. Fabio Alexandre Spanhol, M.Sc. 19
  19. 19. Prof. Fabio Alexandre Spanhol, M.Sc. 20
  20. 20. Extensa biblioteca padrão Um módulo para o que você precisar sys, random, re, datetime, calendar, csv, os, webbrowser, string, urlib, Tkinter, codecs, pickle, types, array, mutex, queue, zlib, gzip, md5, thread, socket, email, xml.dom, locale, 21Prof. Fabio Alexandre Spanhol, M.Sc. etc.
  21. 21. Prof. Fabio Alexandre Spanhol, M.Sc. 22
  22. 22. 29 palavras reservadas◦ (Java tem 52 e C# 77)and exec notassert finally orbreak for passclass from printContinue global raisedef if returndel import tryelif in whileelse is yeldexcept Spanhol,lambdaProf. Fabio Alexandre M.Sc. 23
  23. 23. IDLEinterpretadorProf. Fabio Alexandre Spanhol, M.Sc. 24
  24. 24. Cython◦ onde existir um compilador C ISO/IEC 9899:1990Jython◦ máquina virtual JavaPyPy◦ Python implementado em PythonPython for .NET◦ [Brian Lloyd], IronPython (da M$)Python for DelphiLunaticPython◦ interoperando com LuaRuby/Python◦ em Ruby importar módulos Python)Prof. Fabio Alexandre Spanhol, M.Sc. 25
  25. 25. Python é case-sensitiveCada linha é delimitada por enterTipagem forte e dinâmica◦ Não há declaração de variáveisComentários iniciam por #Comentários em várias linhas delimitadospor aspas triplas “””Alguns operadores◦ Atribuição: =◦ Aritméticos: +, -, *, /, **,//,%◦ Relacionais: <,>,>=,<=, ==,!=,<>,is, in◦ Lógicos: and,or,not◦ Bitwise: |,^,&,>>,<<,~ Prof. Fabio Alexandre Spanhol, M.Sc. 26
  26. 26. A estrutura dos blocos é definida pelaindentação◦ Não misturar tabulações com espaços for i in range(25): if i%3 == 0: print i if i%5 == 0: print "Bingo!" print “-”*5Prof. Fabio Alexandre Spanhol, M.Sc. 27
  27. 27. Inteiros◦ x = 10◦ y = 56859898958711346465165798798715654000000000000**2◦ z = y + x  3233048109594863662031421586618163610229539807267781773950479 944647716000000000000000000000010LPonto flutuante◦ f = 85.99984Booleanos◦ True e FalseStrings◦ Delimitadas por aspas ou apóstrofo◦ s = “python”◦ s2 = ‘language’◦ s3 = “%s %s” % (s,s2) Prof. Fabio Alexandre Spanhol, M.Sc. 28
  28. 28. Usando type>>> x = 2>>> print type(x)<type int>>>> x = "dois">>> print type(x)<type string>>>> x = 10.2>>> print type(x)<type float>>>> x=round>>> print x<built-in function round> Prof. Fabio Alexandre Spanhol, M.Sc. 29
  29. 29. Tuplas◦ Imutáveis◦ (‘Fabio’,32, False, 92.5,186)Listas◦ mutáveis◦ [‘Fabio’,32, False, 92.5,186]Dicionários◦ Chaves com valores associados◦ refeicoes = {"café" : “cereal com leite e mel", "almoço" : "macarrão carbonara“,"jantar" : "sopa de champignon"}◦ print refeicoes["almoço"]Conjuntos◦ Não permite elementos duplicados◦ set([1,2,3,4,5,6,8,9,8,1,2,7,1,2,5])◦ Retorna  set([1, 2, 3, 4, 5, 6, 7, 8, 9])Prof. Fabio Alexandre Spanhol, M.Sc. 30
  30. 30. Entrada com raw_input◦ nome=raw_input("Qual o seu nome?")◦ idade=int(raw_input(“Qual a sua idade?”)Saída com print◦ print nome◦ print "Ola %s, sua nota:%10.2f" % (nome,nota)Prof. Fabio Alexandre Spanhol, M.Sc. 31
  31. 31. ifif (expressao): bloco[elif (expressao): bloco][else: bloco] Prof. Fabio Alexandre Spanhol, M.Sc. 32
  32. 32. exemplos = raw_input(“número entre 0 e 100? ")n = int(s)if not 0 < n < 100: print "Número inválido."if n % 2 == 0: print "Número Par"else: print "Número Ímpar" Prof. Fabio Alexandre Spanhol, M.Sc. 33
  33. 33. forfor variavel in sequencia: bloco[else: bloco] whilewhile (expressao): bloco[else: bloco] Prof. Fabio Alexandre Spanhol, M.Sc. 34
  34. 34. Exemplo#encoding: utf-8cores=[‘verde,‘amarelo,‘azul,‘branco]for cor in cores: print cor é minha cor favorita! Prof. Fabio Alexandre Spanhol, M.Sc. 35
  35. 35. Modularizam o código#encoding: utf-8#função que escreve n termos da série de fibonaccidef fibo(n): a,b,t=0,1,1 while t <= n: print b a, b = b, a + b t+=1x=int(raw_input("Quantos termos?"))fibo(x) Prof. Fabio Alexandre Spanhol, M.Sc. 36
  36. 36. Prof. Fabio Alexandre Spanhol, M.Sc. 37
  37. 37. Não vamos complicar!Prof. Fabio Alexandre Spanhol, M.Sc. 38
  38. 38. Prof. Fabio Alexandre Spanhol, M.Sc. 39
  39. 39. Prof. Fabio Alexandre Spanhol, M.Sc. 40
  40. 40. Prof. Fabio Alexandre Spanhol, M.Sc. 41
  41. 41. Inverter a ordem das cartas◦ baralho.reverse()Tirar a carta do topo◦ baralho.pop()Adicionar 4 coringas◦ baralho.extend([‘Coringa’]*4)Colocar em ordem◦ baralho.sort()  Pelo número de letras: baralho.sort(key=len) Prof. Fabio Alexandre Spanhol, M.Sc. 42
  42. 42. Prof. Fabio Alexandre Spanhol, M.Sc. 43
  43. 43. Também tem! Você pode fazer programação Funcional sem Lost in Stupid Parenthesis (LISP) Prof. Fabio Alexandre Spanhol, M.Sc. 44
  44. 44. Prof. Fabio Alexandre Spanhol, M.Sc. 45
  45. 45. Prof. Fabio Alexandre Spanhol, M.Sc. 46
  46. 46. faspanhol@gmail.com @_photon_ www.slideshare.net/_photon_Prof. Fabio Alexandre Spanhol, M.Sc. 47

×