SlideShare uma empresa Scribd logo
Grupo – 1
 Júlio César Eiras Melanda – 14267
 Emmanuel Ferreira Borges - 13675
Wellington dos Santos Flauzino – 13739

   Universidade Federal de Itajubá - 27/05/09
Conteúdo

    Objetivos

    O que é Python

    Características Importantes
         −      Paradigma
         −      Compilação
         −      Tipagem
         −      Escopo de variáveis
         −      Multiplataforma
         −      Estruturas de dados nativas
         −      Outras características
Conteúdo (cont.)

    Programando
        −   Começando...
        −   Sintaxe básica
        −   Fora do interpretador
        −   Controle de fluxo – seleção
        −   Controle de fluxo – laço
        −   Controle de fluxo – laço
        −   Subprogramas
        −   Orientação a Objetos
        −   Programação funcional
Conteúdo (cont.)
●   Módulos
●   Programas que usam Python
●   Referências
Objetivos
Apresentar para a turma a linguagem de programação Python
em sua versão 2.x pois houve quebra de compatibilidade na
versão 3.0 que ainda não é largamente usada..

Desta forma, serão abordados tópicos referentes ao projeto da
linguagem, relacionando à matéria estudada, além de alguns
exemplos de como funciona a programação nesta linguagem
que está entre as que mais vem crescendo em importância nos
últimos anos.
O que é Python
Python é uma linguagem de programação poderosa e fácil de
aprender que possui estruturas de alto nível, com uma abordagem
simples e efetiva à programação orientada a objetos. [1]

Foi criada no início da década de 90 por Guido van Rossum na
Holanda no Stichting Mathematisch Centrum. Todos os releases,
exceto 1.6, 1.6.1 e 2.0 são distribuídos sob a GPL-compatível. [2]

O nome vem do show da BBC “Monty Python's Flying Circus”, e
não das cobras de mesmo nome.[1]

Python é muito versátil podendo ser usada em aplicativos Web do
lado servidor, jogos, programas de controle e configuração de
sistemas, scripts, editores de imagens, music players, Web
browsers e muito mais.
Características Importantes
Características Importantes

    Paradigmas
        −   Multi-paradigma
                 
                     Orientada a Objetos
                 
                     Procedural
                 
                     Funcional
                 
                     Scripting


    Compilação
        −   Interpretada
        −   Programação interativa
        −   Bytecodes
Características Importantes

    Tipagem
         −    Dinâmica
         −    Forte

    Escopo de variáveis
         −    Estático com vinculação dinâmica
         −    Podem ser acessados diretamente:
                 
                      Variáveis locais
                 
                      Variáveis globais
                 
                      Variáveis externas (nomes pré-definidos)
Características Importantes

    Multiplataforma
         −    Windows
         −    GNU/Linux
         −    MacOS
         −    PalmOS
         −    Symbian

    Estruturas de dados nativas
         −    Listas
         −    Dicionários
         −    Tuplas
         −    Conjuntos
Características Importantes

    Outras características
         −    Tudo é objeto (inclusive tipos de dados)
         −    Tipo nativo para números complexos
         −    Extensa biblioteca padrão
         −    Suporta coerção (dentro dos limites impostos pela
              tipagem forte)
Programando
Começando...

    Na programação interativa, basta abrir o interpretador e digitar
    os comandos


>>> print “Olha eu aqui!” #isto é um comentário
Olha eu aqui!
>>> x = '3' #Não precisa declarar x
>>> x             #Mostra o objeto vinculado ao nome x
'3'
Sintaxe Básica

    Blocos são definidos por identação
>>> i = 0              #Sem ';' no final da instrução
>>> while i < 2:                 #Sem begin ou {
...        print i, #vírgula evita quebra de linha
...        i += 1 #operador de atribuição composto
...                              #sem end ou }
0 1

    O ':' indica que a próxima instrução faz parte
    de um bloco
Fora do interpretador

    Código fonte em arquivo .py ou .pyw (no Windows)

    Exemplo:
#!/usr/bin/env python
#-*- coding: utf8 -*-
#mentira.py
'''Mostra uma mentira na tela'''
print “Não fui eu!!!”

    Primeira linha para chamar o interpretador python (somente em
    Unix)

    Segunda linha conta para o interpretador qual a codificação do
    arquivo. Sem ela, é levantada uma exceção se houver
    caracteres não ASCII.
Fora do interpretador (cont.)

    A terceira linha é um comentário com o nome do arquivo
    python. É convenção colocar este comentário em todos os
    módulos (arquivos) criados.

    A quarta linha é uma dosctrnig (texto de documentação). Todos
    objetos devem ter uma docstring antes de começar com as
    instruções propriamente (convenção).

    Finalmente a instrução que será interpretada e executada
Controle de fluxo - seleção

    Em python não existe switch
if x < 0:
         pass      #usado para não fazer nada
else:
         pass
if y == 1:            #if e elif funcionam como cases
         pass     #com a vantagem de aceitar
elif y > 2: #expressões
         pass
else:              #Faz o papel do default
         pass
Controle de fluxo - seleção
●   Fazer um switch usando
    dicionários:
    def case_1():            x = raw_input()
           print "um"        try:  #pega excessão
    def case_2():                  switch[x]()
           print "dois"      except:
    def case_3():                  print "default"
           print "tres"
    switch ={'1':case_1,
              '2':case_2,
              '3':case_3}
Controle de fluxo - laço

    Temos duas instruções para laços – for e while (não tem do)

    while executa um laço condicional pós-teste
while x >= 0:
         y    = x * x
         x -= 1

    for executa iteração sobre uma lista
for i in [1, 2 ,3 ,4]:
         print (' i vale %d') % i

    Podemos gerar listas com a função range()
>>> range(5)
[0, 1, 2, 3, 4]
Controle de fluxo - laço

    Para controle com instruções localizadas pelo usuário temos as
    instruções break e continue do mesmo modo que em C

    Para os casos em que o laço terminar normalmente significa
    algo, usa-se a instrução else
for i in range(2, 10):
         for     n in range(2, i):
                  if i % n == 0:
                       print i, '=', n, '*', i/n
                       break
         else:
                  print i, 'é um número primo'
Subprogramas

    Todos subprogramas são funções

    Funções sem return, ou com return sem parâmetros retornam
    None
def fib(n):
         ''' Calcula fibonacci até n '''
         a, b = 0, 1      #Atribuições simultâneas
         while b < n:
                print b
                a, b = b, a + b       #Avalia da esquerda
                                      #para a direita
Subprogramas (cont.)
def continuar(opcao = true):
      ''' continua alguma coisa '''
      if opcao:
              print “Continuando”
      else:
              print “Você decidiu parar”

>>> continuar() #parâmetro é opcional
Continuando
>>> continuar(false)
Você decidiu parar
Orientação a Objetos
●   Tudo é objeto, da estrutura mais simples à mais complexa
●   Classes
    class MinhaClasse(SuperClasse1):
              ''' Docstring qualquer '''
              atributo1 = 'valor do atributo 1'
              _atributo2 = 9
              def __init__(self, atributo1, atributoS):
                   self.atributo1 = atributo1
                   SuperClasse1.__init__(atributoS)
              def metodo1(self, *params):
                   pass
Orientação a objetos
●   Python possui herança múltipla
●   Todo método de classe recebe o parâmetro self
●   Atributos não públicos : _atributo2
●   Método __init__ é o primeiro a ser executado
●   __init__ não é um construtor
Orientação a objetos (cont.)

x = classe()              #Instanciando...
y = classe2(param)
x.metodo1(param1, param2)   #utilizando métodos
z = y.troca1(a, b)
var = x.atributo1           #utilizando atributo
y.atributo2 = 'Arara'   #'setando' atributos
Programação funcional
●   filter(func, lista) retorna uma sequência com os itens da lista
    para os quais func é verdadeiro
    def f(x): return x % 2 != 0 and x % 3 != 0
    >>> filter(f, range(2, 25))
    [5, 7, 11, 13, 17, 19, 23]
●   map(func, lista) aplica func(item) em cada item da lista
    retornando uma lista de valores retornados por func(item)
    def f(x): return x*x*x
    >>> map(f, range(1, 5))
    [1, 8, 27, 64]  # códigos extraídos de [1]
Programação funcional (cont.)
●   reduce(func, lista) aplica sucessivamente func aos elementos
    de lista dois a dois, retornando um único valor
    def add(x, y): return x + y
    >>> reduce(add, range(1, 11))
    55
●   Funções lambda: cria funções anônimas simples
    def incrementa(n)
           return lambda x: x + n #somente uma
    >>> f = incrementa(20)       #expressão
    >>> f(20)
    40
Módulos

●   Interfaces gráficas
         –   wxPython
         –   TkInter
         –   PyQt
         –   PyGTK
●   Científico e numérico
         –   numpy
         –   scipy
         –   ScientificPython
         –   BioPython
Módulos (cont.)
●   Jogos
          –   Pygame
●   Imagens
          –   PyOpenGL
          –   PyOgre
          –   Soya 3D
          –   Panda 3d
●   Web
          –   Django
          –   TurboGears
          –   Zope
Programas que usam Python

●   YUM
●   Wicd
●   BitTorrent
●   ForecastWatch
●   Wing IDE
●   Blender (renderização de imagens)
●   OpenOffice
●   Scribus
●   Vim
Programas que usam Python
               (cont.)
●   GIMP
●   Inkscape
●   Poser
●   Jogos
           –   Battlefield 2 (Windows)
           –   Civilization IV (Windows)
           –   Frequency (PS2)
           –   Star Trek Bridge Commander (Windows)
           –   Vegastrike (Multiplataforma)
           –   Frets On Fire
Frets On Fire




Civilization IV
Mount & Blade




PySol
Inkscape




Poser
Referências

●   Rossum, Guido von, PythonTutorial– Release 2.4.2, 2005,
    Python Software Foundation
●   Rossum, Guido von, Python Tutorial – Release 2.6.1, 2009,
    Python Software Foundation - [1]
●   Rossum, Guido von, The Python Language Reference –
    Release 2.6.1, 2009, Python Software Foundation - [2]
●   Pilgrim, Mark, Dive Into Python – versão 5.4, 2004,
    diveintopython.org
Obrigado!!!

Mais conteúdo relacionado

PPTX
Python + algoritmo
PDF
Lógica de Programação - Unimep/Pronatec - Aula02
PDF
Lógica de Programação - Unimep/Pronatec - Aula08
PDF
Lógica de Programação - Unimep/Pronatec - Aula03
PDF
Lógica de Programação - Unimep/Pronatec - Aula01
PDF
Lógica de Programação - Unimep/Pronatec - Aula04
PDF
Maratona de Programação
PDF
Lógica de Programação - Unimep/Pronatec - Aula10
Python + algoritmo
Lógica de Programação - Unimep/Pronatec - Aula02
Lógica de Programação - Unimep/Pronatec - Aula08
Lógica de Programação - Unimep/Pronatec - Aula03
Lógica de Programação - Unimep/Pronatec - Aula01
Lógica de Programação - Unimep/Pronatec - Aula04
Maratona de Programação
Lógica de Programação - Unimep/Pronatec - Aula10

Mais procurados (20)

PDF
Lógica de Programação - Unimep/Pronatec - Aula06
ODP
Aula05 - Lógica de Programação
PDF
Action script1 apresentação2
PDF
02 while
PDF
python.comandos
ODP
Aula02 - Lógica de Programação
PDF
TWP40 Revisão Geral 3
PDF
53392229 apostila-de-algoritmo-2009
PPTX
Java: Estruturas de Repetição
PDF
Recursividade em linguagem C
PDF
Lógica de programação pascal
PPT
Logica Algoritmo 05 Repeticao
PDF
Algoritmos e lp parte3-pseudocódigo
ODP
Curso de Delphi - Linguagem Pascal
PPT
Java básico - Módulo 05 - Estruturas de Repetição
PPTX
Dicas para maratonas de programação
PPTX
Visualg
PDF
Aula 3 - Lógica de Programação
PDF
TWP38 Revisão Geral 2
PDF
Aula 1 aed - lógica de programação
Lógica de Programação - Unimep/Pronatec - Aula06
Aula05 - Lógica de Programação
Action script1 apresentação2
02 while
python.comandos
Aula02 - Lógica de Programação
TWP40 Revisão Geral 3
53392229 apostila-de-algoritmo-2009
Java: Estruturas de Repetição
Recursividade em linguagem C
Lógica de programação pascal
Logica Algoritmo 05 Repeticao
Algoritmos e lp parte3-pseudocódigo
Curso de Delphi - Linguagem Pascal
Java básico - Módulo 05 - Estruturas de Repetição
Dicas para maratonas de programação
Visualg
Aula 3 - Lógica de Programação
TWP38 Revisão Geral 2
Aula 1 aed - lógica de programação
Anúncio

Semelhante a Aula python (20)

ODP
Python Emsl2009
ODP
Python para desenvolvedores - material apoio (parte I)
PDF
Cherrypy - um framework para desenvolvimento rápido de aplicações web
PDF
Iniciando em Python
PDF
PPT
Introdução à linguagem python
PDF
Tutorial Python - 1
PDF
Apresentação python fábio jr alves
ODP
Mini Curso Python
PDF
Trabalho sobre a linguagem Python
PDF
Introdução à Programação em Python
PDF
python_para_desenvolvedores.pdf
PDF
Aula 01 python
PDF
Minicurso Python
PDF
Curso python
PPT
Python2.5.ppt
PDF
Arduino e Python: Do It Yourself
PDF
Elementos Fundamentais de Linguagens de Programação e a Linguagem Python
PDF
Tutorial Python ed. #2
PPTX
Python.pptx
Python Emsl2009
Python para desenvolvedores - material apoio (parte I)
Cherrypy - um framework para desenvolvimento rápido de aplicações web
Iniciando em Python
Introdução à linguagem python
Tutorial Python - 1
Apresentação python fábio jr alves
Mini Curso Python
Trabalho sobre a linguagem Python
Introdução à Programação em Python
python_para_desenvolvedores.pdf
Aula 01 python
Minicurso Python
Curso python
Python2.5.ppt
Arduino e Python: Do It Yourself
Elementos Fundamentais de Linguagens de Programação e a Linguagem Python
Tutorial Python ed. #2
Python.pptx
Anúncio

Último (19)

PDF
Aula04-Academia Heri- Tecnologia Geral 2025
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PDF
COBITxITIL-Entenda as diferença em uso governança TI
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PDF
Processos na gestão de transportes, TM100 Col18
PPTX
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PPTX
Aula 18 - Manipulacao De Arquivos python
PPTX
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PDF
Apple Pippin Uma breve introdução. - David Glotz
Aula04-Academia Heri- Tecnologia Geral 2025
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Custos e liquidação no SAP Transportation Management, TM130 Col18
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
COBITxITIL-Entenda as diferença em uso governança TI
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Processos na gestão de transportes, TM100 Col18
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Aula 18 - Manipulacao De Arquivos python
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Apple Pippin Uma breve introdução. - David Glotz

Aula python

  • 1. Grupo – 1 Júlio César Eiras Melanda – 14267 Emmanuel Ferreira Borges - 13675 Wellington dos Santos Flauzino – 13739 Universidade Federal de Itajubá - 27/05/09
  • 2. Conteúdo  Objetivos  O que é Python  Características Importantes − Paradigma − Compilação − Tipagem − Escopo de variáveis − Multiplataforma − Estruturas de dados nativas − Outras características
  • 3. Conteúdo (cont.)  Programando − Começando... − Sintaxe básica − Fora do interpretador − Controle de fluxo – seleção − Controle de fluxo – laço − Controle de fluxo – laço − Subprogramas − Orientação a Objetos − Programação funcional
  • 4. Conteúdo (cont.) ● Módulos ● Programas que usam Python ● Referências
  • 5. Objetivos Apresentar para a turma a linguagem de programação Python em sua versão 2.x pois houve quebra de compatibilidade na versão 3.0 que ainda não é largamente usada.. Desta forma, serão abordados tópicos referentes ao projeto da linguagem, relacionando à matéria estudada, além de alguns exemplos de como funciona a programação nesta linguagem que está entre as que mais vem crescendo em importância nos últimos anos.
  • 6. O que é Python Python é uma linguagem de programação poderosa e fácil de aprender que possui estruturas de alto nível, com uma abordagem simples e efetiva à programação orientada a objetos. [1] Foi criada no início da década de 90 por Guido van Rossum na Holanda no Stichting Mathematisch Centrum. Todos os releases, exceto 1.6, 1.6.1 e 2.0 são distribuídos sob a GPL-compatível. [2] O nome vem do show da BBC “Monty Python's Flying Circus”, e não das cobras de mesmo nome.[1] Python é muito versátil podendo ser usada em aplicativos Web do lado servidor, jogos, programas de controle e configuração de sistemas, scripts, editores de imagens, music players, Web browsers e muito mais.
  • 8. Características Importantes  Paradigmas − Multi-paradigma  Orientada a Objetos  Procedural  Funcional  Scripting  Compilação − Interpretada − Programação interativa − Bytecodes
  • 9. Características Importantes  Tipagem − Dinâmica − Forte  Escopo de variáveis − Estático com vinculação dinâmica − Podem ser acessados diretamente:  Variáveis locais  Variáveis globais  Variáveis externas (nomes pré-definidos)
  • 10. Características Importantes  Multiplataforma − Windows − GNU/Linux − MacOS − PalmOS − Symbian  Estruturas de dados nativas − Listas − Dicionários − Tuplas − Conjuntos
  • 11. Características Importantes  Outras características − Tudo é objeto (inclusive tipos de dados) − Tipo nativo para números complexos − Extensa biblioteca padrão − Suporta coerção (dentro dos limites impostos pela tipagem forte)
  • 13. Começando...  Na programação interativa, basta abrir o interpretador e digitar os comandos >>> print “Olha eu aqui!” #isto é um comentário Olha eu aqui! >>> x = '3' #Não precisa declarar x >>> x #Mostra o objeto vinculado ao nome x '3'
  • 14. Sintaxe Básica  Blocos são definidos por identação >>> i = 0 #Sem ';' no final da instrução >>> while i < 2: #Sem begin ou { ... print i, #vírgula evita quebra de linha ... i += 1 #operador de atribuição composto ... #sem end ou } 0 1  O ':' indica que a próxima instrução faz parte de um bloco
  • 15. Fora do interpretador  Código fonte em arquivo .py ou .pyw (no Windows)  Exemplo: #!/usr/bin/env python #-*- coding: utf8 -*- #mentira.py '''Mostra uma mentira na tela''' print “Não fui eu!!!”  Primeira linha para chamar o interpretador python (somente em Unix)  Segunda linha conta para o interpretador qual a codificação do arquivo. Sem ela, é levantada uma exceção se houver caracteres não ASCII.
  • 16. Fora do interpretador (cont.)  A terceira linha é um comentário com o nome do arquivo python. É convenção colocar este comentário em todos os módulos (arquivos) criados.  A quarta linha é uma dosctrnig (texto de documentação). Todos objetos devem ter uma docstring antes de começar com as instruções propriamente (convenção).  Finalmente a instrução que será interpretada e executada
  • 17. Controle de fluxo - seleção  Em python não existe switch if x < 0: pass #usado para não fazer nada else: pass if y == 1: #if e elif funcionam como cases pass #com a vantagem de aceitar elif y > 2: #expressões pass else: #Faz o papel do default pass
  • 18. Controle de fluxo - seleção ● Fazer um switch usando dicionários: def case_1(): x = raw_input() print "um" try:  #pega excessão def case_2(): switch[x]() print "dois" except: def case_3(): print "default" print "tres" switch ={'1':case_1,    '2':case_2,    '3':case_3}
  • 19. Controle de fluxo - laço  Temos duas instruções para laços – for e while (não tem do)  while executa um laço condicional pós-teste while x >= 0: y = x * x x -= 1  for executa iteração sobre uma lista for i in [1, 2 ,3 ,4]: print (' i vale %d') % i  Podemos gerar listas com a função range() >>> range(5) [0, 1, 2, 3, 4]
  • 20. Controle de fluxo - laço  Para controle com instruções localizadas pelo usuário temos as instruções break e continue do mesmo modo que em C  Para os casos em que o laço terminar normalmente significa algo, usa-se a instrução else for i in range(2, 10): for n in range(2, i): if i % n == 0: print i, '=', n, '*', i/n break else: print i, 'é um número primo'
  • 21. Subprogramas  Todos subprogramas são funções  Funções sem return, ou com return sem parâmetros retornam None def fib(n): ''' Calcula fibonacci até n ''' a, b = 0, 1 #Atribuições simultâneas while b < n: print b a, b = b, a + b #Avalia da esquerda #para a direita
  • 22. Subprogramas (cont.) def continuar(opcao = true): ''' continua alguma coisa ''' if opcao: print “Continuando” else: print “Você decidiu parar” >>> continuar() #parâmetro é opcional Continuando >>> continuar(false) Você decidiu parar
  • 23. Orientação a Objetos ● Tudo é objeto, da estrutura mais simples à mais complexa ● Classes class MinhaClasse(SuperClasse1): ''' Docstring qualquer ''' atributo1 = 'valor do atributo 1' _atributo2 = 9 def __init__(self, atributo1, atributoS): self.atributo1 = atributo1 SuperClasse1.__init__(atributoS) def metodo1(self, *params): pass
  • 24. Orientação a objetos ● Python possui herança múltipla ● Todo método de classe recebe o parâmetro self ● Atributos não públicos : _atributo2 ● Método __init__ é o primeiro a ser executado ● __init__ não é um construtor
  • 25. Orientação a objetos (cont.) x = classe()              #Instanciando... y = classe2(param) x.metodo1(param1, param2) #utilizando métodos z = y.troca1(a, b) var = x.atributo1 #utilizando atributo y.atributo2 = 'Arara' #'setando' atributos
  • 26. Programação funcional ● filter(func, lista) retorna uma sequência com os itens da lista para os quais func é verdadeiro def f(x): return x % 2 != 0 and x % 3 != 0 >>> filter(f, range(2, 25)) [5, 7, 11, 13, 17, 19, 23] ● map(func, lista) aplica func(item) em cada item da lista retornando uma lista de valores retornados por func(item) def f(x): return x*x*x >>> map(f, range(1, 5)) [1, 8, 27, 64]  # códigos extraídos de [1]
  • 27. Programação funcional (cont.) ● reduce(func, lista) aplica sucessivamente func aos elementos de lista dois a dois, retornando um único valor def add(x, y): return x + y >>> reduce(add, range(1, 11)) 55 ● Funções lambda: cria funções anônimas simples def incrementa(n) return lambda x: x + n #somente uma >>> f = incrementa(20)       #expressão >>> f(20) 40
  • 28. Módulos ● Interfaces gráficas – wxPython – TkInter – PyQt – PyGTK ● Científico e numérico – numpy – scipy – ScientificPython – BioPython
  • 29. Módulos (cont.) ● Jogos – Pygame ● Imagens – PyOpenGL – PyOgre – Soya 3D – Panda 3d ● Web – Django – TurboGears – Zope
  • 30. Programas que usam Python ● YUM ● Wicd ● BitTorrent ● ForecastWatch ● Wing IDE ● Blender (renderização de imagens) ● OpenOffice ● Scribus ● Vim
  • 31. Programas que usam Python (cont.) ● GIMP ● Inkscape ● Poser ● Jogos – Battlefield 2 (Windows) – Civilization IV (Windows) – Frequency (PS2) – Star Trek Bridge Commander (Windows) – Vegastrike (Multiplataforma) – Frets On Fire
  • 35. Referências ● Rossum, Guido von, PythonTutorial– Release 2.4.2, 2005, Python Software Foundation ● Rossum, Guido von, Python Tutorial – Release 2.6.1, 2009, Python Software Foundation - [1] ● Rossum, Guido von, The Python Language Reference – Release 2.6.1, 2009, Python Software Foundation - [2] ● Pilgrim, Mark, Dive Into Python – versão 5.4, 2004, diveintopython.org