Your SlideShare is downloading. ×
Introdução à linguagem Python
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Introdução à linguagem Python

1,725
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.

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
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,725
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
81
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Introdução à linguagem ÈÝØ ÓÒ Alex Tercete Matos 6 de junho de 2009
  • 2. Antes de começar. . . PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 2 / 28
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Um pouco mais sobre ÈÝØ ÓÒ PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 6 / 28
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Quem usa? • Empresas: − Google, Yahoo! − NASA, CERN • Software: − Trac − GIMP, Blender, Inkscape − BitTorrent − Gnome PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 10 / 28
  • 32. Quem usa? • Empresas: − Google, Yahoo! − NASA, CERN • Software: − Trac − GIMP, Blender, Inkscape − BitTorrent − Gnome PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 10 / 28
  • 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. Onde roda? • ÍÆÁ -likes − ÆÍ»Ä ÒÙÜ: padrão na grande maioria − Å ÇË : padrão • Windows: tem que instalar • Nokia Series 60 • (. . . ) PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 11 / 28
  • 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. Onde roda? • ÍÆÁ -likes − ÆÍ»Ä ÒÙÜ: padrão na grande maioria − Å ÇË : padrão • Windows: tem que instalar • Nokia Series 60 • (. . . ) PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 11 / 28
  • 37. Botando a mão na massa! PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 12 / 28
  • 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. Conceitos básicos • Variáveis • Números − Inteiros − De ponto flutuante − Complexos • Strings − ³, e − Concatenação − Slices PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 13 / 28
  • 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. 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. 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. 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. 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. Estruturas condicionais 1 i f expressao1 : 2 comando1 3 comando2 4 ... PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 15 / 28
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Listas • º ÔÔ Ò ´µ • º Ò× ÖØ´µ • ºÖ ÑÓÚ ´µ • ºÔÓÔ´µ • º ÓÙÒØ´µ •º Ò Ü´µ • º×ÓÖØ´µ • ºÖ Ú Ö× ´µ PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 18 / 28
  • 59. Listas • º ÔÔ Ò ´µ • º Ò× ÖØ´µ • ºÖ ÑÓÚ ´µ • ºÔÓÔ´µ • º ÓÙÒØ´µ •º Ò Ü´µ • º×ÓÖØ´µ • ºÖ Ú Ö× ´µ PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 18 / 28
  • 60. Listas • º ÔÔ Ò ´µ • º Ò× ÖØ´µ • ºÖ ÑÓÚ ´µ • ºÔÓÔ´µ • º ÓÙÒØ´µ •º Ò Ü´µ • º×ÓÖØ´µ • ºÖ Ú Ö× ´µ PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 18 / 28
  • 61. Listas • º ÔÔ Ò ´µ • º Ò× ÖØ´µ • ºÖ ÑÓÚ ´µ • ºÔÓÔ´µ • º ÓÙÒØ´µ •º Ò Ü´µ • º×ÓÖØ´µ • ºÖ Ú Ö× ´µ PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 18 / 28
  • 62. Listas • º ÔÔ Ò ´µ • º Ò× ÖØ´µ • ºÖ ÑÓÚ ´µ • ºÔÓÔ´µ • º ÓÙÒØ´µ •º Ò Ü´µ • º×ÓÖØ´µ • ºÖ Ú Ö× ´µ PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 18 / 28
  • 63. Listas • º ÔÔ Ò ´µ • º Ò× ÖØ´µ • ºÖ ÑÓÚ ´µ • ºÔÓÔ´µ • º ÓÙÒØ´µ •º Ò Ü´µ • º×ÓÖØ´µ • ºÖ Ú Ö× ´µ PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 18 / 28
  • 64. Listas • º ÔÔ Ò ´µ • º Ò× ÖØ´µ • ºÖ ÑÓÚ ´µ • ºÔÓÔ´µ • º ÓÙÒØ´µ •º Ò Ü´µ • º×ÓÖØ´µ • ºÖ Ú Ö× ´µ PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 18 / 28
  • 65. Listas • º ÔÔ Ò ´µ • º Ò× ÖØ´µ • ºÖ ÑÓÚ ´µ • ºÔÓÔ´µ • º ÓÙÒØ´µ •º Ò Ü´µ • º×ÓÖØ´µ • ºÖ Ú Ö× ´µ PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 18 / 28
  • 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. 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. 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. 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. 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. 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. 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. Programação Funcional 1 >>> l i s t a = [ 1 , 2 , 3 , 4 ] PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 21 / 28
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Arquivos 1 >>> a r q = open ( ³Ø ×Ø ºØÜØ ³ , ³Û³ ) PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 23 / 28
  • 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. 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. 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. 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. 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. 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. 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. 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. Baterias incluídas • ×Ý×, Ó×, Ö , ×ØÖ Ò , ÞÐ • ×Ó Ø, ÙÖÐÐ , ØØÔÐ , Ñ ÔÐ •Ø Ñ , Ø Ø Ñ , Ñ Ø , Ö Ò ÓÑ • ×ØÖÙ Ø, Ô Ð , È Ð , Ø Ö Ò • ÐÓ Ò , Ñ Ð • (. . . ) PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 25 / 28
  • 99. Outras Bibliotecas • ÆÙÑÈÝ • Ë ÈÝ • Å ØÔÐÓØÄ • ÈÝÇ • ÈÝØ ÓÒ¹ÇÔ Ò Ä • (. . . ) PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 26 / 28
  • 100. Aplicações • Scripts • Computação Gráfica • Web • Jogos • Aplicações Desktop • (. . . ) PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 27 / 28
  • 101. The Zen of ÈÝØ ÓÒ 1 import t h i s PythOnCampus Introdução à linguagem ÈÝØ ÓÒ – 28 / 28