Introdução à linguagem Python

2,339 views

Published on

Telas -- bastante baseadas nas do Álvaro (http://alvarojusten.blogspot.com/) -- utilizadas no minicurso de Python realizado na PythOnCampus do dia 6 de junho de 2009, na UVA de Cabo Frio.

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

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

No notes for slide

Introdução à linguagem Python

  1. 1. Introdução à linguagem ÈÝØ ÓÒ Alex Tercete Matos 6 de junho de 2009
  2. 2. Antes de começar. . . PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 2 / 28
  3. 3. Quem sou eu? • CEFET/RJ − Engenharia de Controle e Automação • Chemtech − Desenvolvimento de software • Software Livre − ÆÍ»Ä ÒÙÜ − ÈÝØ ÓÒ − etc. PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 3 / 28
  4. 4. Quem sou eu? • CEFET/RJ − Engenharia de Controle e Automação • Chemtech − Desenvolvimento de software • Software Livre − ÆÍ»Ä ÒÙÜ − ÈÝØ ÓÒ − etc. PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 3 / 28
  5. 5. Quem sou eu? • CEFET/RJ − Engenharia de Controle e Automação • Chemtech − Desenvolvimento de software • Software Livre − ÆÍ»Ä ÒÙÜ − ÈÝØ ÓÒ − etc. PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 3 / 28
  6. 6. Quem são vocês? • Nome • Faz o que? • Programa em qual(is) linguagem(ns)? • Já conhece ou ouviu falar de ÈÝØ ÓÒ? • Por que está aqui? PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 4 / 28
  7. 7. O que é ÈÝØ ÓÒ? • Linguagem interpretada • Software livre • Multiplataforma • Procedural, OO e funcional • VHLL: Very High Level Language • Baterias incluídas! − Extensa biblioteca padrão PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 5 / 28
  8. 8. O que é ÈÝØ ÓÒ? • Linguagem interpretada • Software livre • Multiplataforma • Procedural, OO e funcional • VHLL: Very High Level Language • Baterias incluídas! − Extensa biblioteca padrão PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 5 / 28
  9. 9. O que é ÈÝØ ÓÒ? • Linguagem interpretada • Software livre • Multiplataforma • Procedural, OO e funcional • VHLL: Very High Level Language • Baterias incluídas! − Extensa biblioteca padrão PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 5 / 28
  10. 10. O que é ÈÝØ ÓÒ? • Linguagem interpretada • Software livre • Multiplataforma • Procedural, OO e funcional • VHLL: Very High Level Language • Baterias incluídas! − Extensa biblioteca padrão PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 5 / 28
  11. 11. O que é ÈÝØ ÓÒ? • Linguagem interpretada • Software livre • Multiplataforma • Procedural, OO e funcional • VHLL: Very High Level Language • Baterias incluídas! − Extensa biblioteca padrão PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 5 / 28
  12. 12. O que é ÈÝØ ÓÒ? • Linguagem interpretada • Software livre • Multiplataforma • Procedural, OO e funcional • VHLL: Very High Level Language • Baterias incluídas! − Extensa biblioteca padrão PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 5 / 28
  13. 13. Um pouco mais sobre ÈÝØ ÓÒ PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 6 / 28
  14. 14. História • Criada por Guido van Rossum em 1989 • Nome baseado no seriado in- glês Monty Python’s Flying Circus • Versão 2.0 lançada em 2000 • Versão 3.0 lançada em 2008 − Quebra de compatibilidade PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 7 / 28
  15. 15. História • Criada por Guido van Rossum em 1989 • Nome baseado no seriado in- glês Monty Python’s Flying Circus • Versão 2.0 lançada em 2000 • Versão 3.0 lançada em 2008 − Quebra de compatibilidade PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 7 / 28
  16. 16. História • Criada por Guido van Rossum em 1989 • Nome baseado no seriado in- glês Monty Python’s Flying Circus • Versão 2.0 lançada em 2000 • Versão 3.0 lançada em 2008 − Quebra de compatibilidade PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 7 / 28
  17. 17. História • Criada por Guido van Rossum em 1989 • Nome baseado no seriado in- glês Monty Python’s Flying Circus • Versão 2.0 lançada em 2000 • Versão 3.0 lançada em 2008 − Quebra de compatibilidade PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 7 / 28
  18. 18. Características • Sintaxe elegante, simples e clara • Orientada a objetos (porém procedural e funcional, também) • Tipagem dinâmica • Tipagem forte • Estruturas de dados de alto nível − tuplas, listas e dicionários • Blocos de código são delimitados por endentação (?) PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 8 / 28
  19. 19. Características • Sintaxe elegante, simples e clara • Orientada a objetos (porém procedural e funcional, também) • Tipagem dinâmica • Tipagem forte • Estruturas de dados de alto nível − tuplas, listas e dicionários • Blocos de código são delimitados por endentação (?) PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 8 / 28
  20. 20. Características • Sintaxe elegante, simples e clara • Orientada a objetos (porém procedural e funcional, também) • Tipagem dinâmica • Tipagem forte • Estruturas de dados de alto nível − tuplas, listas e dicionários • Blocos de código são delimitados por endentação (?) PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 8 / 28
  21. 21. Características • Sintaxe elegante, simples e clara • Orientada a objetos (porém procedural e funcional, também) • Tipagem dinâmica • Tipagem forte • Estruturas de dados de alto nível − tuplas, listas e dicionários • Blocos de código são delimitados por endentação (?) PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 8 / 28
  22. 22. Características • Sintaxe elegante, simples e clara • Orientada a objetos (porém procedural e funcional, também) • Tipagem dinâmica • Tipagem forte • Estruturas de dados de alto nível − tuplas, listas e dicionários • Blocos de código são delimitados por endentação (?) PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 8 / 28
  23. 23. Características • Sintaxe elegante, simples e clara • Orientada a objetos (porém procedural e funcional, também) • Tipagem dinâmica • Tipagem forte • Estruturas de dados de alto nível − tuplas, listas e dicionários • Blocos de código são delimitados por endentação (?) PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 8 / 28
  24. 24. Características • Sintaxe elegante, simples e clara • Orientada a objetos (porém procedural e funcional, também) • Tipagem dinâmica • Tipagem forte • Estruturas de dados de alto nível − tuplas, listas e dicionários • Blocos de código são delimitados por endentação (?) PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 8 / 28
  25. 25. Vantagens • Fácil de aprender • Poderosa • Linguagem dinâmica: quase tudo acontece em runtime • Code → Test • Facilidade de criação de módulos − A comunidade pode facilmente criar e compartilhar funcionalidades • Interpretador interativo: shell PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 9 / 28
  26. 26. Vantagens • Fácil de aprender • Poderosa • Linguagem dinâmica: quase tudo acontece em runtime • Code → Test • Facilidade de criação de módulos − A comunidade pode facilmente criar e compartilhar funcionalidades • Interpretador interativo: shell PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 9 / 28
  27. 27. Vantagens • Fácil de aprender • Poderosa • Linguagem dinâmica: quase tudo acontece em runtime • Code → Test • Facilidade de criação de módulos − A comunidade pode facilmente criar e compartilhar funcionalidades • Interpretador interativo: shell PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 9 / 28
  28. 28. Vantagens • Fácil de aprender • Poderosa • Linguagem dinâmica: quase tudo acontece em runtime • Code → Test • Facilidade de criação de módulos − A comunidade pode facilmente criar e compartilhar funcionalidades • Interpretador interativo: shell PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 9 / 28
  29. 29. Vantagens • Fácil de aprender • Poderosa • Linguagem dinâmica: quase tudo acontece em runtime • Code → Test • Facilidade de criação de módulos − A comunidade pode facilmente criar e compartilhar funcionalidades • Interpretador interativo: shell PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 9 / 28
  30. 30. Vantagens • Fácil de aprender • Poderosa • Linguagem dinâmica: quase tudo acontece em runtime • Code → Test • Facilidade de criação de módulos − A comunidade pode facilmente criar e compartilhar funcionalidades • Interpretador interativo: shell PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 9 / 28
  31. 31. Quem usa? • Empresas: − Google, Yahoo! − NASA, CERN • Software: − Trac − GIMP, Blender, Inkscape − BitTorrent − Gnome PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 10 / 28
  32. 32. Quem usa? • Empresas: − Google, Yahoo! − NASA, CERN • Software: − Trac − GIMP, Blender, Inkscape − BitTorrent − Gnome PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 10 / 28
  33. 33. Onde roda? • ÍÆÁ -likes − ÆÍ»Ä ÒÙÜ: padrão na grande maioria − Å ÇË : padrão • Windows: tem que instalar • Nokia Series 60 • (. . . ) PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 11 / 28
  34. 34. Onde roda? • ÍÆÁ -likes − ÆÍ»Ä ÒÙÜ: padrão na grande maioria − Å ÇË : padrão • Windows: tem que instalar • Nokia Series 60 • (. . . ) PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 11 / 28
  35. 35. Onde roda? • ÍÆÁ -likes − ÆÍ»Ä ÒÙÜ: padrão na grande maioria − Å ÇË : padrão • Windows: tem que instalar • Nokia Series 60 • (. . . ) PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 11 / 28
  36. 36. Onde roda? • ÍÆÁ -likes − ÆÍ»Ä ÒÙÜ: padrão na grande maioria − Å ÇË : padrão • Windows: tem que instalar • Nokia Series 60 • (. . . ) PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 11 / 28
  37. 37. Botando a mão na massa! PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 12 / 28
  38. 38. Conceitos básicos • Variáveis • Números − Inteiros − De ponto flutuante − Complexos • Strings − ³, e − Concatenação − Slices PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 13 / 28
  39. 39. Conceitos básicos • Variáveis • Números − Inteiros − De ponto flutuante − Complexos • Strings − ³, e − Concatenação − Slices PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 13 / 28
  40. 40. Conceitos básicos • Variáveis • Números − Inteiros − De ponto flutuante − Complexos • Strings − ³, e − Concatenação − Slices PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 13 / 28
  41. 41. Mais conceitos básicos • Listas 1 l i s t a = [ ³ Рܳ , 22 , 8 1 . 3 , [ 8 , ³ ̳ ] ] − Acesso: Ð ×Ø Ò℄, Ð ×Ø Ò ℄, Ð ×Ø Ò℄, Ð ×Ø Ò Ñ℄ − Mutáveis: Ð ×Ø Ò℄ Ú ÐÓÖ − Ð Ò´Ð ×Ø µ, Ð ×Ø º ÔÔ Ò ´µ PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 14 / 28
  42. 42. Mais conceitos básicos • Listas 1 l i s t a = [ ³ Рܳ , 22 , 8 1 . 3 , [ 8 , ³ ̳ ] ] − Acesso: Ð ×Ø Ò℄, Ð ×Ø Ò ℄, Ð ×Ø Ò℄, Ð ×Ø Ò Ñ℄ − Mutáveis: Ð ×Ø Ò℄ Ú ÐÓÖ − Ð Ò´Ð ×Ø µ, Ð ×Ø º ÔÔ Ò ´µ PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 14 / 28
  43. 43. Mais conceitos básicos • Listas 1 l i s t a = [ ³ Рܳ , 22 , 8 1 . 3 , [ 8 , ³ ̳ ] ] − Acesso: Ð ×Ø Ò℄, Ð ×Ø Ò ℄, Ð ×Ø Ò℄, Ð ×Ø Ò Ñ℄ − Mutáveis: Ð ×Ø Ò℄ Ú ÐÓÖ − Ð Ò´Ð ×Ø µ, Ð ×Ø º ÔÔ Ò ´µ PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 14 / 28
  44. 44. Mais conceitos básicos • Listas 1 l i s t a = [ ³ Рܳ , 22 , 8 1 . 3 , [ 8 , ³ ̳ ] ] − Acesso: Ð ×Ø Ò℄, Ð ×Ø Ò ℄, Ð ×Ø Ò℄, Ð ×Ø Ò Ñ℄ − Mutáveis: Ð ×Ø Ò℄ Ú ÐÓÖ − Ð Ò´Ð ×Ø µ, Ð ×Ø º ÔÔ Ò ´µ PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 14 / 28
  45. 45. Estruturas condicionais 1 i f expressao1 : 2 comando1 3 comando2 4 ... PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 15 / 28
  46. 46. Estruturas condicionais 1 i f expressao1 : 2 comando1 3 comando2 4 ... 5 e l i f expressao2 : 6 comando3 7 ... PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 15 / 28
  47. 47. Estruturas condicionais 1 i f expressao1 : 2 comando1 3 comando2 4 ... 5 e l i f expressao2 : 6 comando3 7 ... 8 else : 9 comandoN 10 ... PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 15 / 28
  48. 48. Estruturas condicionais 1 i f expressao1 : 2 comando1 3 comando2 4 ... 5 e l i f expressao2 : 6 comando3 7 ... 8 else : 9 comandoN 10 ... • Ú ÐÓÖ½ ÜÔÖ ×× Ó Ð× Ú ÐÓÖ¾ PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 15 / 28
  49. 49. Estruturas de repetição 1 for i in i t e r a v e l : 2 comando1 3 comando2 PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 16 / 28
  50. 50. Estruturas de repetição 1 for i in i t e r a v e l : 2 comando1 3 comando2 • iterável → Ð ×Ø, Ö Ò ´µ, Ø, etc. PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 16 / 28
  51. 51. Estruturas de repetição 1 for i in i t e r a v e l : 2 comando1 3 comando2 • iterável → Ð ×Ø, Ö Ò ´µ, Ø, etc. 1 while expressao : 2 comando3 PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 16 / 28
  52. 52. Estruturas de repetição 1 for i in i t e r a v e l : 2 comando1 3 comando2 • iterável → Ð ×Ø, Ö Ò ´µ, Ø, etc. 1 while expressao : 2 comando3 • Ö , ÓÒØ ÒÙ , Ô ××, ÓÖººº Ð× PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 16 / 28
  53. 53. Funções 1 d e f f u n c a o ( param1 , param2 , ...) : 2 comando1 3 ... 4 [ return valor ] •¶ Ö × • ¶¶ Û Ö × → Ô Ö Ñ½ Ú ÐÓÖ, Ô Ö Ñ¾ Ú ÐÓÖ, . . . •Ð Ñ : funções anônimas • docstrings PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 17 / 28
  54. 54. Funções 1 d e f f u n c a o ( param1 , param2 , ...) : 2 comando1 3 ... 4 [ return valor ] •¶ Ö × • ¶¶ Û Ö × → Ô Ö Ñ½ Ú ÐÓÖ, Ô Ö Ñ¾ Ú ÐÓÖ, . . . •Ð Ñ : funções anônimas • docstrings PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 17 / 28
  55. 55. Funções 1 d e f f u n c a o ( param1 , param2 , ...) : 2 comando1 3 ... 4 [ return valor ] •¶ Ö × • ¶¶ Û Ö × → Ô Ö Ñ½ Ú ÐÓÖ, Ô Ö Ñ¾ Ú ÐÓÖ, . . . •Ð Ñ : funções anônimas • docstrings PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 17 / 28
  56. 56. Funções 1 d e f f u n c a o ( param1 , param2 , ...) : 2 comando1 3 ... 4 [ return valor ] •¶ Ö × • ¶¶ Û Ö × → Ô Ö Ñ½ Ú ÐÓÖ, Ô Ö Ñ¾ Ú ÐÓÖ, . . . •Ð Ñ : funções anônimas • docstrings PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 17 / 28
  57. 57. Funções 1 d e f f u n c a o ( param1 , param2 , ...) : 2 comando1 3 ... 4 [ return valor ] •¶ Ö × • ¶¶ Û Ö × → Ô Ö Ñ½ Ú ÐÓÖ, Ô Ö Ñ¾ Ú ÐÓÖ, . . . •Ð Ñ : funções anônimas • docstrings PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 17 / 28
  58. 58. Listas • º ÔÔ Ò ´µ • º Ò× ÖØ´µ • ºÖ ÑÓÚ ´µ • ºÔÓÔ´µ • º ÓÙÒØ´µ •º Ò Ü´µ • º×ÓÖØ´µ • ºÖ Ú Ö× ´µ PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 18 / 28
  59. 59. Listas • º ÔÔ Ò ´µ • º Ò× ÖØ´µ • ºÖ ÑÓÚ ´µ • ºÔÓÔ´µ • º ÓÙÒØ´µ •º Ò Ü´µ • º×ÓÖØ´µ • ºÖ Ú Ö× ´µ PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 18 / 28
  60. 60. Listas • º ÔÔ Ò ´µ • º Ò× ÖØ´µ • ºÖ ÑÓÚ ´µ • ºÔÓÔ´µ • º ÓÙÒØ´µ •º Ò Ü´µ • º×ÓÖØ´µ • ºÖ Ú Ö× ´µ PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 18 / 28
  61. 61. Listas • º ÔÔ Ò ´µ • º Ò× ÖØ´µ • ºÖ ÑÓÚ ´µ • ºÔÓÔ´µ • º ÓÙÒØ´µ •º Ò Ü´µ • º×ÓÖØ´µ • ºÖ Ú Ö× ´µ PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 18 / 28
  62. 62. Listas • º ÔÔ Ò ´µ • º Ò× ÖØ´µ • ºÖ ÑÓÚ ´µ • ºÔÓÔ´µ • º ÓÙÒØ´µ •º Ò Ü´µ • º×ÓÖØ´µ • ºÖ Ú Ö× ´µ PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 18 / 28
  63. 63. Listas • º ÔÔ Ò ´µ • º Ò× ÖØ´µ • ºÖ ÑÓÚ ´µ • ºÔÓÔ´µ • º ÓÙÒØ´µ •º Ò Ü´µ • º×ÓÖØ´µ • ºÖ Ú Ö× ´µ PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 18 / 28
  64. 64. Listas • º ÔÔ Ò ´µ • º Ò× ÖØ´µ • ºÖ ÑÓÚ ´µ • ºÔÓÔ´µ • º ÓÙÒØ´µ •º Ò Ü´µ • º×ÓÖØ´µ • ºÖ Ú Ö× ´µ PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 18 / 28
  65. 65. Listas • º ÔÔ Ò ´µ • º Ò× ÖØ´µ • ºÖ ÑÓÚ ´µ • ºÔÓÔ´µ • º ÓÙÒØ´µ •º Ò Ü´µ • º×ÓÖØ´µ • ºÖ Ú Ö× ´µ PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 18 / 28
  66. 66. Tuplas 1 tupla = ( 2 2 , ³ Рܳ , 9 . 6 ) • Bem mais rápidas • Imutáveis: 1 >>> t u p l a [ 0 ] = 23 2 T r a c e b a c k ( most r e c e n t c a l l l a s t ) : 3 File ×Ø Ò , l i n e 1 , i n <module> 4 T y p e E r r o r : ³ØÙÔÐ ³ o b j e c t does n o t s u p p o r t item assignment PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 19 / 28
  67. 67. Tuplas 1 tupla = ( 2 2 , ³ Рܳ , 9 . 6 ) • Bem mais rápidas • Imutáveis: 1 >>> t u p l a [ 0 ] = 23 2 T r a c e b a c k ( most r e c e n t c a l l l a s t ) : 3 File ×Ø Ò , l i n e 1 , i n <module> 4 T y p e E r r o r : ³ØÙÔÐ ³ o b j e c t does n o t s u p p o r t item assignment PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 19 / 28
  68. 68. Tuplas 1 tupla = ( 2 2 , ³ Рܳ , 9 . 6 ) • Bem mais rápidas • Imutáveis: 1 >>> t u p l a [ 0 ] = 23 2 T r a c e b a c k ( most r e c e n t c a l l l a s t ) : 3 File ×Ø Ò , l i n e 1 , i n <module> 4 T y p e E r r o r : ³ØÙÔÐ ³ o b j e c t does n o t s u p p o r t item assignment PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 19 / 28
  69. 69. Dicionários 1 d i c = { ³ Ð Ü ³ : 2 2 , 5 : ³ ÒÓ× ³ , ( 1 , 2 ) : ³ Ù ³, ³ÔÓ× Ó ³ : ( 3 , 4 ) } • Ú ℄ • Ú Ò → ÌÖÙ ou Ð× • Não acessa na ordem! 1 for c , v in dic . i t e r i t e m s ( ) : 2 comando1 3 ... PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 20 / 28
  70. 70. Dicionários 1 d i c = { ³ Ð Ü ³ : 2 2 , 5 : ³ ÒÓ× ³ , ( 1 , 2 ) : ³ Ù ³, ³ÔÓ× Ó ³ : ( 3 , 4 ) } • Ú ℄ • Ú Ò → ÌÖÙ ou Ð× • Não acessa na ordem! 1 for c , v in dic . i t e r i t e m s ( ) : 2 comando1 3 ... PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 20 / 28
  71. 71. Dicionários 1 d i c = { ³ Ð Ü ³ : 2 2 , 5 : ³ ÒÓ× ³ , ( 1 , 2 ) : ³ Ù ³, ³ÔÓ× Ó ³ : ( 3 , 4 ) } • Ú ℄ • Ú Ò → ÌÖÙ ou Ð× • Não acessa na ordem! 1 for c , v in dic . i t e r i t e m s ( ) : 2 comando1 3 ... PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 20 / 28
  72. 72. Dicionários 1 d i c = { ³ Ð Ü ³ : 2 2 , 5 : ³ ÒÓ× ³ , ( 1 , 2 ) : ³ Ù ³, ³ÔÓ× Ó ³ : ( 3 , 4 ) } • Ú ℄ • Ú Ò → ÌÖÙ ou Ð× • Não acessa na ordem! 1 for c , v in dic . i t e r i t e m s ( ) : 2 comando1 3 ... PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 20 / 28
  73. 73. Programação Funcional 1 >>> l i s t a = [ 1 , 2 , 3 , 4 ] PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 21 / 28
  74. 74. Programação Funcional 1 >>> l i s t a = [ 1 , 2 , 3 , 4 ] 2 >>> f i l t e r ( lambda x : x % 2 == 0 , l i s t a ) PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 21 / 28
  75. 75. Programação Funcional 1 >>> l i s t a = [ 1 , 2 , 3 , 4 ] 2 >>> f i l t e r ( lambda x : x % 2 == 0 , l i s t a ) 3 [2 , 4] PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 21 / 28
  76. 76. Programação Funcional 1 >>> lista = [1 , 2 , 3 , 4] 2 >>> f i l t e r ( lambda x : x % 2 == 0 , l i s t a ) 3 [2 , 4] 4 >>> map ( lambda x : x ∗ x , l i s t a ) PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 21 / 28
  77. 77. Programação Funcional 1 >>> lista = [1 , 2 , 3 , 4] 2 >>> f i l t e r ( lambda x : x % 2 == 0 , l i s t a ) 3 [2 , 4] 4 >>> map ( lambda x : x ∗ x , l i s t a ) 5 [1 , 4 , 9 , 16] PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 21 / 28
  78. 78. Programação Funcional 1 >>> lista = [1 , 2 , 3 , 4] 2 >>> f i l t e r ( lambda x : x % 2 == 0 , l i s t a ) 3 [2 , 4] 4 >>> map ( lambda x : x ∗ x , l i s t a ) 5 [1 , 4 , 9 , 16] 6 >>> r e d u c e ( lambda x , y : x + y , l i s t a ) PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 21 / 28
  79. 79. Programação Funcional 1 >>> lista = [1 , 2 , 3 , 4] 2 >>> f i l t e r ( lambda x : x % 2 == 0 , l i s t a ) 3 [2 , 4] 4 >>> map ( lambda x : x ∗ x , l i s t a ) 5 [1 , 4 , 9 , 16] 6 >>> r e d u c e ( lambda x , y : x + y , l i s t a ) 7 10 PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 21 / 28
  80. 80. Programação Funcional 1 >>> lista = [1 , 2 , 3 , 4] 2 >>> f i l t e r ( lambda x : x % 2 == 0 , l i s t a ) 3 [2 , 4] 4 >>> map ( lambda x : x ∗ x , l i s t a ) 5 [1 , 4 , 9 , 16] 6 >>> r e d u c e ( lambda x , y : x + y , l i s t a ) 7 10 8 >>> zip ( lista , [1 , 4 , 9 ] ) PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 21 / 28
  81. 81. Programação Funcional 1 >>> l i s t a = [ 1 , 2 , 3 , 4 ] 2 >>> f i l t e r ( lambda x : x % 2 == 0 , l i s t a ) 3 [2 , 4] 4 >>> map ( lambda x : x ∗ x , l i s t a ) 5 [1 , 4 , 9 , 16] 6 >>> r e d u c e ( lambda x , y : x + y , l i s t a ) 7 10 8 >>> z i p ( l i s t a , [ 1 , 4 , 9 ] ) 9 [ ( 1 , 1) , (2 , 4) , (3 , 9) ] PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 21 / 28
  82. 82. Programação Funcional 1 >>> l i s t a = [ 1 , 2 , 3 , 4 ] 2 >>> f i l t e r ( lambda x : x % 2 == 0 , l i s t a ) 3 [2 , 4] 4 >>> map ( lambda x : x ∗ x , l i s t a ) 5 [1 , 4 , 9 , 16] 6 >>> r e d u c e ( lambda x , y : x + y , l i s t a ) 7 10 8 >>> z i p ( l i s t a , [ 1 , 4 , 9 ] ) 9 [ ( 1 , 1) , (2 , 4) , (3 , 9) ] • List comprehension PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 21 / 28
  83. 83. Módulos • arquivo.py • ÑÔÓÖØ ÖÕÙ ÚÓ • ÖÕÙ ÚÓº , ÖÕÙ ÚÓº ´µ • ÖÓÑ ÖÕÙ ÚÓ ÑÔÓÖØ ¸ • ÖÓÑ ÖÕÙ ÚÓ ÑÔÓÖØ ¶ 1 i f __name__ == ³ Ñ Ò ³ : 2 p r i n t ³ËÓÙ ÙÑ ÔÖÓ Ö Ñ ³ 3 else : 4 p r i n t ³ËÓÙ ÙÑ ÑÓ ÙÐÓ ³ PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 22 / 28
  84. 84. Módulos • arquivo.py • ÑÔÓÖØ ÖÕÙ ÚÓ • ÖÕÙ ÚÓº , ÖÕÙ ÚÓº ´µ • ÖÓÑ ÖÕÙ ÚÓ ÑÔÓÖØ ¸ • ÖÓÑ ÖÕÙ ÚÓ ÑÔÓÖØ ¶ 1 i f __name__ == ³ Ñ Ò ³ : 2 p r i n t ³ËÓÙ ÙÑ ÔÖÓ Ö Ñ ³ 3 else : 4 p r i n t ³ËÓÙ ÙÑ ÑÓ ÙÐÓ ³ PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 22 / 28
  85. 85. Módulos • arquivo.py • ÑÔÓÖØ ÖÕÙ ÚÓ • ÖÕÙ ÚÓº , ÖÕÙ ÚÓº ´µ • ÖÓÑ ÖÕÙ ÚÓ ÑÔÓÖØ ¸ • ÖÓÑ ÖÕÙ ÚÓ ÑÔÓÖØ ¶ 1 i f __name__ == ³ Ñ Ò ³ : 2 p r i n t ³ËÓÙ ÙÑ ÔÖÓ Ö Ñ ³ 3 else : 4 p r i n t ³ËÓÙ ÙÑ ÑÓ ÙÐÓ ³ PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 22 / 28
  86. 86. Módulos • arquivo.py • ÑÔÓÖØ ÖÕÙ ÚÓ • ÖÕÙ ÚÓº , ÖÕÙ ÚÓº ´µ • ÖÓÑ ÖÕÙ ÚÓ ÑÔÓÖØ ¸ • ÖÓÑ ÖÕÙ ÚÓ ÑÔÓÖØ ¶ 1 i f __name__ == ³ Ñ Ò ³ : 2 p r i n t ³ËÓÙ ÙÑ ÔÖÓ Ö Ñ ³ 3 else : 4 p r i n t ³ËÓÙ ÙÑ ÑÓ ÙÐÓ ³ PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 22 / 28
  87. 87. Módulos • arquivo.py • ÑÔÓÖØ ÖÕÙ ÚÓ • ÖÕÙ ÚÓº , ÖÕÙ ÚÓº ´µ • ÖÓÑ ÖÕÙ ÚÓ ÑÔÓÖØ ¸ • ÖÓÑ ÖÕÙ ÚÓ ÑÔÓÖØ ¶ 1 i f __name__ == ³ Ñ Ò ³ : 2 p r i n t ³ËÓÙ ÙÑ ÔÖÓ Ö Ñ ³ 3 else : 4 p r i n t ³ËÓÙ ÙÑ ÑÓ ÙÐÓ ³ PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 22 / 28
  88. 88. Módulos • arquivo.py • ÑÔÓÖØ ÖÕÙ ÚÓ • ÖÕÙ ÚÓº , ÖÕÙ ÚÓº ´µ • ÖÓÑ ÖÕÙ ÚÓ ÑÔÓÖØ ¸ • ÖÓÑ ÖÕÙ ÚÓ ÑÔÓÖØ ¶ 1 i f __name__ == ³ Ñ Ò ³ : 2 p r i n t ³ËÓÙ ÙÑ ÔÖÓ Ö Ñ ³ 3 else : 4 p r i n t ³ËÓÙ ÙÑ ÑÓ ÙÐÓ ³ PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 22 / 28
  89. 89. Arquivos 1 >>> a r q = open ( ³Ø ×Ø ºØÜØ ³ , ³Û³ ) PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 23 / 28
  90. 90. Arquivos 1 >>> a r q = open ( ³Ø ×Ø ºØÜØ ³ , ³Û³ ) 2 >>> a r q . w r i t e ( ³Ì ×Ø × Ö Ø Ò³ ) 3 >>> a r q . c l o s e ( ) PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 23 / 28
  91. 91. Arquivos 1 >>> a r q = open ( ³Ø ×Ø ºØÜØ ³ , ³Û³ ) 2 >>> a r q . w r i t e ( ³Ì ×Ø × Ö Ø Ò³ ) 3 >>> arq . c l o s e ( ) 4 >>> a r q = open ( ³Ø ×Ø ºØÜØ ³ ) PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 23 / 28
  92. 92. Arquivos 1 >>> a r q = open ( ³Ø ×Ø ºØÜØ ³ , ³Û³ ) 2 >>> a r q . w r i t e ( ³Ì ×Ø × Ö Ø Ò³ ) 3 >>> arq . c l o s e ( ) 4 >>> a r q = open ( ³Ø ×Ø ºØÜØ ³ ) 5 >>> arq . r e a d l i n e s ( ) 6 [ ³Ì ×Ø × Ö Ø Ò³ ] PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 23 / 28
  93. 93. Arquivos 1 >>> a r q = open ( ³Ø ×Ø ºØÜØ ³ , ³Û³ ) 2 >>> a r q . w r i t e ( ³Ì ×Ø × Ö Ø Ò³ ) 3 >>> arq . c l o s e ( ) 4 >>> a r q = open ( ³Ø ×Ø ºØÜØ ³ ) 5 >>> arq . r e a d l i n e s ( ) 6 [ ³Ì ×Ø × Ö Ø Ò³ ] 1 f o r l i n h a in arq : 2 print linha PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 23 / 28
  94. 94. Classes 1 c l a s s NomeDaClasse : 2 quot; quot; quot; Essa c l a s s e nao f a z m u i t a c o i s a quot; quot; quot; 3 4 self . atributo = valor 5 d e f metodo ( s e l f , param1 , param2 , ...) : 6 comando1 • Ò Ø ´µ • Sobrecarga de operadores • Herança múltipla PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 24 / 28
  95. 95. Classes 1 c l a s s NomeDaClasse : 2 quot; quot; quot; Essa c l a s s e nao f a z m u i t a c o i s a quot; quot; quot; 3 4 self . atributo = valor 5 d e f metodo ( s e l f , param1 , param2 , ...) : 6 comando1 • Ò Ø ´µ • Sobrecarga de operadores • Herança múltipla PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 24 / 28
  96. 96. Classes 1 c l a s s NomeDaClasse : 2 quot; quot; quot; Essa c l a s s e nao f a z m u i t a c o i s a quot; quot; quot; 3 4 self . atributo = valor 5 d e f metodo ( s e l f , param1 , param2 , ...) : 6 comando1 • Ò Ø ´µ • Sobrecarga de operadores • Herança múltipla PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 24 / 28
  97. 97. Classes 1 c l a s s NomeDaClasse : 2 quot; quot; quot; Essa c l a s s e nao f a z m u i t a c o i s a quot; quot; quot; 3 4 self . atributo = valor 5 d e f metodo ( s e l f , param1 , param2 , ...) : 6 comando1 • Ò Ø ´µ • Sobrecarga de operadores • Herança múltipla PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 24 / 28
  98. 98. Baterias incluídas • ×Ý×, Ó×, Ö , ×ØÖ Ò , ÞÐ • ×Ó Ø, ÙÖÐÐ , ØØÔÐ , Ñ ÔÐ •Ø Ñ , Ø Ø Ñ , Ñ Ø , Ö Ò ÓÑ • ×ØÖÙ Ø, Ô Ð , È Ð , Ø Ö Ò • ÐÓ Ò , Ñ Ð • (. . . ) PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 25 / 28
  99. 99. Outras Bibliotecas • ÆÙÑÈÝ • Ë ÈÝ • Å ØÔÐÓØÄ • ÈÝÇ • ÈÝØ ÓÒ¹ÇÔ Ò Ä • (. . . ) PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 26 / 28
  100. 100. Aplicações • Scripts • Computação Gráfica • Web • Jogos • Aplicações Desktop • (. . . ) PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 27 / 28
  101. 101. The Zen of ÈÝØ ÓÒ 1 import t h i s PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 28 / 28

×