O documento apresenta uma introdução à linguagem de programação Python. Ele discute quem é o autor da apresentação, o que é Python, sua história, características e vantagens. Especificamente, Python é descrita como uma linguagem interpretada, de código aberto, multiplataforma e com uma extensa biblioteca padrão.
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
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
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