SlideShare a Scribd company logo
1 of 101
Download to read offline
Introdução à linguagem ÈÝØ ÓÒ

        Alex Tercete Matos

          6 de junho de 2009
Antes de começar. . .




PythOnCampus                      Introdução à linguagem   ÈÝØ ÓÒ – 2 / 28
Quem sou eu?

      • CEFET/RJ
               − Engenharia de Controle e Automação

      • Chemtech
               − Desenvolvimento de software

      • Software Livre
               −    ÆÍ»Ä ÒÙÜ

               −   ÈÝØ ÓÒ

               − etc.

PythOnCampus                                      Introdução à linguagem   ÈÝØ ÓÒ – 3 / 28
Quem sou eu?

      • CEFET/RJ
               − Engenharia de Controle e Automação

      • Chemtech
               − Desenvolvimento de software

      • Software Livre
               −    ÆÍ»Ä ÒÙÜ

               −   ÈÝØ ÓÒ

               − etc.

PythOnCampus                                      Introdução à linguagem   ÈÝØ ÓÒ – 3 / 28
Quem sou eu?

      • CEFET/RJ
               − Engenharia de Controle e Automação

      • Chemtech
               − Desenvolvimento de software

      • Software Livre
               −    ÆÍ»Ä ÒÙÜ

               −   ÈÝØ ÓÒ

               − etc.

PythOnCampus                                      Introdução à linguagem   ÈÝØ ÓÒ – 3 / 28
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
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
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
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
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
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
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
Um pouco mais sobre ÈÝØ ÓÒ




PythOnCampus                   Introdução à linguagem   ÈÝØ ÓÒ – 6 / 28
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Quem usa?

      • Empresas:
               − Google, Yahoo!
               − NASA, CERN

      • Software:
               − Trac
               − GIMP, Blender, Inkscape
               − BitTorrent
               − Gnome


PythOnCampus                               Introdução à linguagem   ÈÝØ ÓÒ – 10 / 28
Quem usa?

      • Empresas:
               − Google, Yahoo!
               − NASA, CERN

      • Software:
               − Trac
               − GIMP, Blender, Inkscape
               − BitTorrent
               − Gnome


PythOnCampus                               Introdução à linguagem   ÈÝØ ÓÒ – 10 / 28
Onde roda?

      •   ÍÆÁ       -likes
               −    ÆÍ»Ä ÒÙÜ:   padrão na grande maioria
               −   Å 
 ÇË    : padrão

      • Windows: tem que instalar
      • Nokia Series 60
      • (. . . )




PythOnCampus                                         Introdução à linguagem   ÈÝØ ÓÒ – 11 / 28
Onde roda?

      •   ÍÆÁ       -likes
               −    ÆÍ»Ä ÒÙÜ:   padrão na grande maioria
               −   Å 
 ÇË    : padrão

      • Windows: tem que instalar
      • Nokia Series 60
      • (. . . )




PythOnCampus                                         Introdução à linguagem   ÈÝØ ÓÒ – 11 / 28
Onde roda?

      •   ÍÆÁ       -likes
               −    ÆÍ»Ä ÒÙÜ:   padrão na grande maioria
               −   Å 
 ÇË    : padrão

      • Windows: tem que instalar
      • Nokia Series 60
      • (. . . )




PythOnCampus                                         Introdução à linguagem   ÈÝØ ÓÒ – 11 / 28
Onde roda?

      •   ÍÆÁ       -likes
               −    ÆÍ»Ä ÒÙÜ:   padrão na grande maioria
               −   Å 
 ÇË    : padrão

      • Windows: tem que instalar
      • Nokia Series 60
      • (. . . )




PythOnCampus                                         Introdução à linguagem   ÈÝØ ÓÒ – 11 / 28
Botando a mão na massa!




PythOnCampus                     Introdução à linguagem   ÈÝØ ÓÒ – 12 / 28
Conceitos básicos

      • Variáveis
      • Números
               − Inteiros
               − De ponto flutuante
               − Complexos

      • Strings
               − ³,       e
               − Concatenação
               − Slices

PythOnCampus                          Introdução à linguagem   ÈÝØ ÓÒ – 13 / 28
Conceitos básicos

      • Variáveis
      • Números
               − Inteiros
               − De ponto flutuante
               − Complexos

      • Strings
               − ³,       e
               − Concatenação
               − Slices

PythOnCampus                          Introdução à linguagem   ÈÝØ ÓÒ – 13 / 28
Conceitos básicos

      • Variáveis
      • Números
               − Inteiros
               − De ponto flutuante
               − Complexos

      • Strings
               − ³,       e
               − Concatenação
               − Slices

PythOnCampus                          Introdução à linguagem   ÈÝØ ÓÒ – 13 / 28
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
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
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
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
Estruturas condicionais



    1     i f expressao1 :
    2          comando1
    3          comando2
    4          ...




PythOnCampus                       Introdução à linguagem   ÈÝØ ÓÒ – 15 / 28
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
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
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
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
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
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
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
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
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
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
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
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
Listas

      • º ÔÔ Ò ´µ
      • º Ò× ÖØ´µ
      • ºÖ ÑÓÚ ´µ
      • ºÔÓÔ´µ
      • º
ÓÙÒØ´µ
      •º Ò     Ü´µ
      • º×ÓÖØ´µ
      • ºÖ Ú Ö× ´µ

PythOnCampus         Introdução à linguagem   ÈÝØ ÓÒ – 18 / 28
Listas

      • º ÔÔ Ò ´µ
      • º Ò× ÖØ´µ
      • ºÖ ÑÓÚ ´µ
      • ºÔÓÔ´µ
      • º
ÓÙÒØ´µ
      •º Ò     Ü´µ
      • º×ÓÖØ´µ
      • ºÖ Ú Ö× ´µ

PythOnCampus         Introdução à linguagem   ÈÝØ ÓÒ – 18 / 28
Listas

      • º ÔÔ Ò ´µ
      • º Ò× ÖØ´µ
      • ºÖ ÑÓÚ ´µ
      • ºÔÓÔ´µ
      • º
ÓÙÒØ´µ
      •º Ò     Ü´µ
      • º×ÓÖØ´µ
      • ºÖ Ú Ö× ´µ

PythOnCampus         Introdução à linguagem   ÈÝØ ÓÒ – 18 / 28
Listas

      • º ÔÔ Ò ´µ
      • º Ò× ÖØ´µ
      • ºÖ ÑÓÚ ´µ
      • ºÔÓÔ´µ
      • º
ÓÙÒØ´µ
      •º Ò     Ü´µ
      • º×ÓÖØ´µ
      • ºÖ Ú Ö× ´µ

PythOnCampus         Introdução à linguagem   ÈÝØ ÓÒ – 18 / 28
Listas

      • º ÔÔ Ò ´µ
      • º Ò× ÖØ´µ
      • ºÖ ÑÓÚ ´µ
      • ºÔÓÔ´µ
      • º
ÓÙÒØ´µ
      •º Ò     Ü´µ
      • º×ÓÖØ´µ
      • ºÖ Ú Ö× ´µ

PythOnCampus         Introdução à linguagem   ÈÝØ ÓÒ – 18 / 28
Listas

      • º ÔÔ Ò ´µ
      • º Ò× ÖØ´µ
      • ºÖ ÑÓÚ ´µ
      • ºÔÓÔ´µ
      • º
ÓÙÒØ´µ
      •º Ò     Ü´µ
      • º×ÓÖØ´µ
      • ºÖ Ú Ö× ´µ

PythOnCampus         Introdução à linguagem   ÈÝØ ÓÒ – 18 / 28
Listas

      • º ÔÔ Ò ´µ
      • º Ò× ÖØ´µ
      • ºÖ ÑÓÚ ´µ
      • ºÔÓÔ´µ
      • º
ÓÙÒØ´µ
      •º Ò     Ü´µ
      • º×ÓÖØ´µ
      • ºÖ Ú Ö× ´µ

PythOnCampus         Introdução à linguagem   ÈÝØ ÓÒ – 18 / 28
Listas

      • º ÔÔ Ò ´µ
      • º Ò× ÖØ´µ
      • ºÖ ÑÓÚ ´µ
      • ºÔÓÔ´µ
      • º
ÓÙÒØ´µ
      •º Ò     Ü´µ
      • º×ÓÖØ´µ
      • ºÖ Ú Ö× ´µ

PythOnCampus         Introdução à linguagem   ÈÝØ ÓÒ – 18 / 28
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
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
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
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
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
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
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
Programação Funcional



    1   >>> l i s t a = [ 1 , 2 , 3 , 4 ]




PythOnCampus                                      Introdução à linguagem   ÈÝØ ÓÒ – 21 / 28
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Arquivos



    1   >>> a r q = open ( ³Ø ×Ø ºØÜØ ³ , ³Û³ )




PythOnCampus                                      Introdução à linguagem   ÈÝØ ÓÒ – 23 / 28
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
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
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
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
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
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
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
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
Baterias incluídas

      • ×Ý×, Ó×, Ö , ×ØÖ Ò , ÞÐ
      • ×Ó
        Ø, ÙÖÐÐ , ØØÔÐ   , Ñ ÔÐ
      •Ø Ñ ,         Ø Ø Ñ , Ñ Ø , Ö Ò ÓÑ
      • ×ØÖÙ
Ø, Ô 
 Ð , 
È 
 Ð , Ø Ö         Ò
      • ÐÓ         Ò ,   
 Ñ Ð
      • (. . . )




PythOnCampus                                      Introdução à linguagem   ÈÝØ ÓÒ – 25 / 28
Outras Bibliotecas

      •   ÆÙÑÈÝ


      •   Ë
 ÈÝ


      •   Å ØÔÐÓØÄ


      •   ÈÝÇ


      •   ÈÝØ ÓÒ¹ÇÔ Ò   Ä


      • (. . . )




PythOnCampus                  Introdução à linguagem   ÈÝØ ÓÒ – 26 / 28
Aplicações

      • Scripts
      • Computação Gráfica
      • Web
      • Jogos
      • Aplicações Desktop
      • (. . . )




PythOnCampus                 Introdução à linguagem   ÈÝØ ÓÒ – 27 / 28
The Zen of                ÈÝØ ÓÒ




    1    import t h i s




PythOnCampus               Introdução à linguagem   ÈÝØ ÓÒ – 28 / 28

More Related Content

What's hot

Introdução a estruturas de dados em python
Introdução a estruturas de dados em pythonIntrodução a estruturas de dados em python
Introdução a estruturas de dados em pythonAlvaro Oliveira
 
Introdução à linguagem de programação Python
Introdução à linguagem de programação PythonIntrodução à linguagem de programação Python
Introdução à linguagem de programação PythonCarlos Schults
 
Curso básico de Algoritmos com Python
Curso básico de Algoritmos com PythonCurso básico de Algoritmos com Python
Curso básico de Algoritmos com PythonGiancarlo Silva
 
Trabalho de Paradigmas Da Linguagem De Programação - Python
Trabalho de Paradigmas Da Linguagem De Programação - PythonTrabalho de Paradigmas Da Linguagem De Programação - Python
Trabalho de Paradigmas Da Linguagem De Programação - PythonJanderson Campêlo
 
Introdução a Linguagem de Programação Python
Introdução a Linguagem de Programação PythonIntrodução a Linguagem de Programação Python
Introdução a Linguagem de Programação PythonFlávio Ribeiro
 
Python - Programando em alto nível
Python - Programando em alto nívelPython - Programando em alto nível
Python - Programando em alto nívelIgor Sobreira
 
Programando para web com python - Introdução a Python
Programando para web com python - Introdução a PythonProgramando para web com python - Introdução a Python
Programando para web com python - Introdução a PythonAlvaro Oliveira
 
Python Módulo Básico - Introdução a linguagem Python
Python Módulo Básico - Introdução a linguagem PythonPython Módulo Básico - Introdução a linguagem Python
Python Módulo Básico - Introdução a linguagem Pythonantonio sérgio nogueira
 
Trabalho sobre a linguagem Python
Trabalho sobre a linguagem PythonTrabalho sobre a linguagem Python
Trabalho sobre a linguagem PythonRicardo Zalla
 
Introdução à Programação Python e Tk
Introdução à Programação Python e TkIntrodução à Programação Python e Tk
Introdução à Programação Python e TkCarlos Campani
 
Python: programação divertida novamente
Python: programação divertida novamentePython: programação divertida novamente
Python: programação divertida novamenteRodrigo Amaral
 
Python como primeira linguagem de programação
Python como primeira linguagem de programaçãoPython como primeira linguagem de programação
Python como primeira linguagem de programaçãoSimples Consultoria
 
Conhencendo Python e por que ela importa?
Conhencendo Python e por que ela importa?Conhencendo Python e por que ela importa?
Conhencendo Python e por que ela importa?Marcel Caraciolo
 
Seminário - Guido van Rossum: Breve história da linguagem Python
Seminário - Guido van Rossum: Breve história da linguagem PythonSeminário - Guido van Rossum: Breve história da linguagem Python
Seminário - Guido van Rossum: Breve história da linguagem PythonGiancarlo Silva
 
Curso de Python (Básico) - Português
Curso de Python (Básico) - PortuguêsCurso de Python (Básico) - Português
Curso de Python (Básico) - PortuguêsHelio Colombe
 
Comsolid2011 Introdução Python
Comsolid2011 Introdução PythonComsolid2011 Introdução Python
Comsolid2011 Introdução PythonGleison Rodrigues
 

What's hot (19)

Introdução a estruturas de dados em python
Introdução a estruturas de dados em pythonIntrodução a estruturas de dados em python
Introdução a estruturas de dados em python
 
Introdução à linguagem de programação Python
Introdução à linguagem de programação PythonIntrodução à linguagem de programação Python
Introdução à linguagem de programação Python
 
Curso básico de Algoritmos com Python
Curso básico de Algoritmos com PythonCurso básico de Algoritmos com Python
Curso básico de Algoritmos com Python
 
Programando com Python
Programando com PythonProgramando com Python
Programando com Python
 
Curso de Python e Django
Curso de Python e DjangoCurso de Python e Django
Curso de Python e Django
 
Trabalho de Paradigmas Da Linguagem De Programação - Python
Trabalho de Paradigmas Da Linguagem De Programação - PythonTrabalho de Paradigmas Da Linguagem De Programação - Python
Trabalho de Paradigmas Da Linguagem De Programação - Python
 
Introdução a Linguagem de Programação Python
Introdução a Linguagem de Programação PythonIntrodução a Linguagem de Programação Python
Introdução a Linguagem de Programação Python
 
Python - Programando em alto nível
Python - Programando em alto nívelPython - Programando em alto nível
Python - Programando em alto nível
 
Programando para web com python - Introdução a Python
Programando para web com python - Introdução a PythonProgramando para web com python - Introdução a Python
Programando para web com python - Introdução a Python
 
Python Módulo Básico - Introdução a linguagem Python
Python Módulo Básico - Introdução a linguagem PythonPython Módulo Básico - Introdução a linguagem Python
Python Módulo Básico - Introdução a linguagem Python
 
Python for zombies (very basic level)
Python for zombies (very basic level)Python for zombies (very basic level)
Python for zombies (very basic level)
 
Trabalho sobre a linguagem Python
Trabalho sobre a linguagem PythonTrabalho sobre a linguagem Python
Trabalho sobre a linguagem Python
 
Introdução à Programação Python e Tk
Introdução à Programação Python e TkIntrodução à Programação Python e Tk
Introdução à Programação Python e Tk
 
Python: programação divertida novamente
Python: programação divertida novamentePython: programação divertida novamente
Python: programação divertida novamente
 
Python como primeira linguagem de programação
Python como primeira linguagem de programaçãoPython como primeira linguagem de programação
Python como primeira linguagem de programação
 
Conhencendo Python e por que ela importa?
Conhencendo Python e por que ela importa?Conhencendo Python e por que ela importa?
Conhencendo Python e por que ela importa?
 
Seminário - Guido van Rossum: Breve história da linguagem Python
Seminário - Guido van Rossum: Breve história da linguagem PythonSeminário - Guido van Rossum: Breve história da linguagem Python
Seminário - Guido van Rossum: Breve história da linguagem Python
 
Curso de Python (Básico) - Português
Curso de Python (Básico) - PortuguêsCurso de Python (Básico) - Português
Curso de Python (Básico) - Português
 
Comsolid2011 Introdução Python
Comsolid2011 Introdução PythonComsolid2011 Introdução Python
Comsolid2011 Introdução Python
 

Viewers also liked

Aprendendo python 2a edição
Aprendendo python   2a ediçãoAprendendo python   2a edição
Aprendendo python 2a ediçãoCAVN/UFPB III
 
Orientação a Objetos com Python e UML - XIII FGSL
Orientação a Objetos com Python e UML - XIII FGSLOrientação a Objetos com Python e UML - XIII FGSL
Orientação a Objetos com Python e UML - XIII FGSLGeorge Mendonça
 
Python no ensino de programação
Python no ensino de programaçãoPython no ensino de programação
Python no ensino de programaçãoGivanaldo Rocha
 
De Zero à Web com Python e Django
De Zero à Web com Python e DjangoDe Zero à Web com Python e Django
De Zero à Web com Python e DjangoOsvaldo Santana Neto
 
Orientação a Objetos em Python
Orientação a Objetos em PythonOrientação a Objetos em Python
Orientação a Objetos em PythonLuciano Ramalho
 
Oficina Python: Hackeando a Web com Python 3
Oficina Python: Hackeando a Web com Python 3Oficina Python: Hackeando a Web com Python 3
Oficina Python: Hackeando a Web com Python 3Marcel Caraciolo
 
How to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksHow to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksSlideShare
 
Getting Started With SlideShare
Getting Started With SlideShareGetting Started With SlideShare
Getting Started With SlideShareSlideShare
 

Viewers also liked (11)

Aprendendo python 2a edição
Aprendendo python   2a ediçãoAprendendo python   2a edição
Aprendendo python 2a edição
 
Orientação a Objetos com Python e UML - XIII FGSL
Orientação a Objetos com Python e UML - XIII FGSLOrientação a Objetos com Python e UML - XIII FGSL
Orientação a Objetos com Python e UML - XIII FGSL
 
TDD com Python (Completo)
TDD com Python (Completo)TDD com Python (Completo)
TDD com Python (Completo)
 
Python no ensino de programação
Python no ensino de programaçãoPython no ensino de programação
Python no ensino de programação
 
De Zero à Web com Python e Django
De Zero à Web com Python e DjangoDe Zero à Web com Python e Django
De Zero à Web com Python e Django
 
Ensinando OO com Python
Ensinando OO com PythonEnsinando OO com Python
Ensinando OO com Python
 
Orientação a Objetos em Python
Orientação a Objetos em PythonOrientação a Objetos em Python
Orientação a Objetos em Python
 
Oficina Python: Hackeando a Web com Python 3
Oficina Python: Hackeando a Web com Python 3Oficina Python: Hackeando a Web com Python 3
Oficina Python: Hackeando a Web com Python 3
 
Aprendendo python
Aprendendo pythonAprendendo python
Aprendendo python
 
How to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksHow to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & Tricks
 
Getting Started With SlideShare
Getting Started With SlideShareGetting Started With SlideShare
Getting Started With SlideShare
 

Similar to Introdução Python introduz linguagem

A linguagem de programação Erlang
A linguagem de programação ErlangA linguagem de programação Erlang
A linguagem de programação Erlangelliando dias
 
Speak up: como criar Speech-based apps
Speak up: como criar Speech-based appsSpeak up: como criar Speech-based apps
Speak up: como criar Speech-based appscodebits
 
A Evolução de Lua (Pycon Brasil 2008)
A Evolução de Lua (Pycon Brasil  2008)A Evolução de Lua (Pycon Brasil  2008)
A Evolução de Lua (Pycon Brasil 2008)guest55e576
 
Python Com Baterias Incluídas
Python Com Baterias IncluídasPython Com Baterias Incluídas
Python Com Baterias IncluídasJonh Edson
 
PARADIGMAS_LINGUAGENS_PROG_aula02.pdf
PARADIGMAS_LINGUAGENS_PROG_aula02.pdfPARADIGMAS_LINGUAGENS_PROG_aula02.pdf
PARADIGMAS_LINGUAGENS_PROG_aula02.pdfAthena542429
 
silo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdf
silo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdfsilo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdf
silo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdfAmlieOGalaxias
 
Processamento Automático da Língua Portuguesa - Campus Party Br 6
Processamento Automático da Língua Portuguesa - Campus Party Br 6Processamento Automático da Língua Portuguesa - Campus Party Br 6
Processamento Automático da Língua Portuguesa - Campus Party Br 6William Colen
 
Computação Forense 0800 Tony Rodrigues
Computação Forense 0800 Tony RodriguesComputação Forense 0800 Tony Rodrigues
Computação Forense 0800 Tony Rodriguestonyrodrigues
 
Python Mini Curso V0812
Python Mini Curso V0812Python Mini Curso V0812
Python Mini Curso V0812Luiz Aldabalde
 
Processo de Desenvolvimento de Software - Programação e Linguagens Fortemente...
Processo de Desenvolvimento de Software - Programação e Linguagens Fortemente...Processo de Desenvolvimento de Software - Programação e Linguagens Fortemente...
Processo de Desenvolvimento de Software - Programação e Linguagens Fortemente...Natanael Simões
 
PHP - Uma Pequena Introducao
PHP - Uma Pequena IntroducaoPHP - Uma Pequena Introducao
PHP - Uma Pequena Introducaojonatasoliveira
 
Despertando para o PHP
Despertando para o PHPDespertando para o PHP
Despertando para o PHPRafael Dohms
 

Similar to Introdução Python introduz linguagem (20)

A linguagem de programação Erlang
A linguagem de programação ErlangA linguagem de programação Erlang
A linguagem de programação Erlang
 
Speak up: como criar Speech-based apps
Speak up: como criar Speech-based appsSpeak up: como criar Speech-based apps
Speak up: como criar Speech-based apps
 
Painel: Batalha de Programador
Painel: Batalha de ProgramadorPainel: Batalha de Programador
Painel: Batalha de Programador
 
A Evolução de Lua (Pycon Brasil 2008)
A Evolução de Lua (Pycon Brasil  2008)A Evolução de Lua (Pycon Brasil  2008)
A Evolução de Lua (Pycon Brasil 2008)
 
Python Com Baterias Incluídas
Python Com Baterias IncluídasPython Com Baterias Incluídas
Python Com Baterias Incluídas
 
Introducao python 2010
Introducao python 2010Introducao python 2010
Introducao python 2010
 
PARADIGMAS_LINGUAGENS_PROG_aula02.pdf
PARADIGMAS_LINGUAGENS_PROG_aula02.pdfPARADIGMAS_LINGUAGENS_PROG_aula02.pdf
PARADIGMAS_LINGUAGENS_PROG_aula02.pdf
 
silo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdf
silo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdfsilo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdf
silo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdf
 
Empreendendo com Python
Empreendendo com PythonEmpreendendo com Python
Empreendendo com Python
 
Processamento Automático da Língua Portuguesa - Campus Party Br 6
Processamento Automático da Língua Portuguesa - Campus Party Br 6Processamento Automático da Língua Portuguesa - Campus Party Br 6
Processamento Automático da Língua Portuguesa - Campus Party Br 6
 
Computação Forense 0800 Tony Rodrigues
Computação Forense 0800 Tony RodriguesComputação Forense 0800 Tony Rodrigues
Computação Forense 0800 Tony Rodrigues
 
Python Mini Curso V0812
Python Mini Curso V0812Python Mini Curso V0812
Python Mini Curso V0812
 
Processo de Desenvolvimento de Software - Programação e Linguagens Fortemente...
Processo de Desenvolvimento de Software - Programação e Linguagens Fortemente...Processo de Desenvolvimento de Software - Programação e Linguagens Fortemente...
Processo de Desenvolvimento de Software - Programação e Linguagens Fortemente...
 
PHP - Uma Pequena Introducao
PHP - Uma Pequena IntroducaoPHP - Uma Pequena Introducao
PHP - Uma Pequena Introducao
 
Mini curso GOLANG
Mini curso GOLANGMini curso GOLANG
Mini curso GOLANG
 
Lp m2
Lp m2Lp m2
Lp m2
 
Despertando para o PHP
Despertando para o PHPDespertando para o PHP
Despertando para o PHP
 
Lp m2(parte1)
Lp m2(parte1)Lp m2(parte1)
Lp m2(parte1)
 
Apresent dosvox janice
Apresent dosvox janiceApresent dosvox janice
Apresent dosvox janice
 
Apresent dosvox janice
Apresent dosvox janiceApresent dosvox janice
Apresent dosvox janice
 

Introdução Python introduz linguagem

  • 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