Iniciando em Python

2,146 views

Published on

Iniciando em Python

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,146
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
43
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Iniciando em Python

  1. 1. Iniciando emRober Zanotto Guerra
  2. 2. O que é Python???Python é Legal!Linguagem de ProgramaçãoAltíssimo nívelSintaxe limpaOrientada a Objetos, procedural e funcionalTipagem forte e dinâmicaInterpretadaModularMultiplataformaFácil aprendizado
  3. 3. HistóriaCriador Guido Van Rossum -> Criatura PythonMeados de 1989C, Haskell, Pearl,SmallTalk, Modulla 3Arquitetura em CMonty Python
  4. 4. Onde utilizar?Desktop - GUIDesenvolvimento webComputação CientíficaComputação em NuvemProgramação distribuída, para redes,Gráficos, jogos, edições de imagens e videosScripts, plugins, complementos...
  5. 5. Onde Roda?Linux – Windows – Mac – Unix – Android – iOS -Symbiam
  6. 6. Versões http://www.python.org/download/releases/Python 2.7.2 (11 junho, 2011)Python 2.6.7 (3 junho, 2011)Python 2.5.6 (26 maio, 2011)Python 2.4.6 (19 dezembro, 2008)Python 2.3.7 (11 março, 2008)Python 2.2.3 (30 maio, 2003)Python 2.1.3 (8 abril, 2002)Python 2.0.1 (junho 2001)Python 1.6.1 (setembro 2000) Python 3* (???)Python 1.5.2 (abril 1999) Python 3.2.2 (September 4, 2011) Python 3.1.4 (June 11, 2011) Python 3.0.1 (February 13, 2009)
  7. 7. Quem usa?http://wiki.python.org/moin/OrganizationsUsingPython
  8. 8. 12108 Coluna 1 Coluna 26 Coluna 3420 Linha 1 Linha 2 Linha 3 Linha 4
  9. 9. Frameworks e GUIs
  10. 10. Usuários
  11. 11. Como usamos Python
  12. 12. Onde Programar?IDEs Komodo NetBeans PyCharm PyDev Wingide Pyshield Spyder PythonToolkit (PTK) PyStudioIDES GUIs MonkeyStudio XCode BoaConstructor VisualPython
  13. 13. LicençaLicença própria (compatível com a GPL);Permitida a distribuição, comercial ou não, tanto dalinguagem quanto de aplicações desenvolvidasnela, em formato binário ou códigoCopyright da PSF (Python Software Foundation) http://www.python.org/download/releases/2.7.2/license/
  14. 14. Como Instalar?http://www.python.org/download/# yum install python# apt-get install python2 cliques no Windows, next...next...finish!
  15. 15. Implementações
  16. 16. + CaracterísticasCase sensitiveInterpretador dinâmico, MUITO DINÂMICO!Tipos Primitivos O que faremos hoje Cérebro? Hoje vamos dominar oTudo é Objeto, Python!TUDO MESMO!Python fitsyour mind!
  17. 17. Interpretador Interativo
  18. 18. Ainda não!O Zen do Python, por Tim PetersBonito é melhor que feio.Explícito é melhor que implícito.Simples é melhor que complexo.Complexo é melhor que complicado.Linear é melhor do que aninhado.Esparso é melhor que denso.Legibilidade conta.Casos especiais não são especiais o bastante para quebrar as regras.Ainda que praticidade vença a pureza.Erros nunca devem passar silenciosamente.A menos que sejam explicitamente silenciados.Diante da ambigüidade, recuse a tentação de adivinhar.Deveria haver um — e preferencialmente só um — modo óbvio para fazer algo.Embora esse modo possa não ser óbvio a princípio a menos que você sejaholandês.Agora é melhor que nunca.Embora nunca frequentemente seja melhor que *já*.Se a implementação é difícil de explicar, é uma má ideia.Se a implementação é fácil de explicar, pode ser uma boa ideia.Namespaces são uma boa ideia — vamos fazer mais dessas!
  19. 19. Operadores Aritméticos >>> #5 / 2 = 2 0_o >>> 5 / 2>>> valor = 10 2>>> 1 + 1 >>> #aaahm... >>> 5 / 2.02 2.5>>> 5 - 1 >>> #exponenciação nativa *-*4 >>> 4 ** 2>>> 2 * 3 166
  20. 20. Operadores Lógicos >>> #Muito interessante:>>> 1 > 2 >>> x = 5 >>> 1 < x < 10False True>>> 2 < 5True>>> 5 == 5 >>> a,b = 5, 2True >>> a > b or b > a True>>> 5 <> 2 >>> a == b and a > b FalseTrue >>> not a>>> 1 != 0 FalseTrue
  21. 21. Identação !?
  22. 22. Operadores de Strings>>> string = "Ola Python">>> len(string) >>> #acho que isso lembra C... ¬¬10 >>> "%d - %.2f - %s" % (1, 2.5, string)>>> string + ! 1 - 2.50 - Ola PythonOla Python!>>> string[:-1]Ola Pytho>>> string[0:3]Ola>>>>>> A * 10 #Ta de palhaçada néh!?AAAAAAAAAA
  23. 23. Desafio - 1Troca de variáveis em 1 linha, sem variável auxiliar, com apenas 1 comando!
  24. 24. !D-U-V-I-D-O!
  25. 25. YEEEAH!A , B = B, A
  26. 26. Tipos Primitivos?ISTO NON EXZISTE!
  27. 27. TUDO É OBJETO!Simples assim...
  28. 28. Conversões de Tipos>>>x,y = 5, ‘5’>>>int(y) >>> tuple(x)5 >>> list(x)>>> float(x) >>> dict(x)5.0>>> str(x)‘5’
  29. 29. Tipos Booleanos
  30. 30. Condicionais
  31. 31. Loops...
  32. 32. Mas Tchê! Cade o Swith?
  33. 33. dir(op1) help(dic)
  34. 34. Manipulando Listas
  35. 35. Parâmetros flexíveis>>>def soma(valor_1 = 10, valor_2 = 5):>>> return int(valor_1) + int(valor_2)>>> soma(1,1)2>>> soma(‘10’, 1)11>>> soma(valor_2=10, valor_1=20)30>>> Soma()15
  36. 36. _Namespaces_locals() >>> def verLocais(): >>> string = ‘texto’ >>> lista = [1,2,3] >>> valor = 100 >>> print locals() {‘string’: ‘texto’, ‘lista’: [1,2,3], ‘valor’: 100globals()
  37. 37. ClassesPara quem sabe Java Python não tem interfaces Mas tem herança múltipla de classes Python não tem sobrecarga de métodos mas tem passagem de argumentos flexível
  38. 38. Classes
  39. 39. Desafio - 2Somar 5 + 2 e resultar em 3
  40. 40. Sobrescrita de Métodos>>> a = soma(5)5>>> b = soma(2)2>>> a + b
  41. 41. Funciona!!! 5+2=3
  42. 42. Debugipdb # easy_install ipython ipdb Linnha anterior ao erro: import ipdb; ipdb.set_trace() >> next >> exit
  43. 43. POR QUE PYTHON???
  44. 44. Por que é......Simplesmente elegante...Legivel...Fácil aprendizado...Resolve todo tipo de Problema...Procedural, OO, Multi paradigma ...é tudo o que você desejar...
  45. 45. Algo mais avançado...#THREAD SIMPLES ------------------->>> class MyThread(t.Thread):>>> def run(self, texto=’’):>>> pint self.getName() +’ ‘+ texto>>> thread_1 = MyThread(‘Primeira Thread’)>>> thread_2 = MyThread(‘Segunda Thread’)>>> thread_1.start()>>> thread_2.start()>>> print fim
  46. 46. Especialistas sobre Python:Por Marinho Brandão -Na minha opinião, a informática é uma ciência que ofereceferramentas para facilitar o dia-a-dia. E ferramentas são assim:uma hora você precisa do martelo, outra hora do porrete, omartelo sozinho não resolve as coisas, ele precisa de um prego,uma tábua e do principal: o carpiteiro. Um carpinteiro qualificadosaberia fazer com o martelo o mesmo que se faria com o porrete,e vice-versa, porque ele está preparado pra fazer aquilo. Outrametáfora que pode ilustrar aqui é o de comparar um sedã, umascania e um trator. Digamos que o Python seja o sedã, o Javaseja a scânia e o C seja o trator: cada um tem sua aplicabilidade.
  47. 47. Estudos
  48. 48. Duvidas?roberzguerra@gmail.com

×