Grupo – 1 Júlio César Eiras Melanda – 14267 Emmanuel Ferreira Borges - 13675Wellington dos Santos Flauzino – 13739   Unive...
Conteúdo    Objetivos    O que é Python    Características Importantes         −      Paradigma         −      Compilaç...
Conteúdo (cont.)    Programando        −   Começando...        −   Sintaxe básica        −   Fora do interpretador       ...
Conteúdo (cont.)●   Módulos●   Programas que usam Python●   Referências
ObjetivosApresentar para a turma a linguagem de programação Pythonem sua versão 2.x pois houve quebra de compatibilidade n...
O que é PythonPython é uma linguagem de programação poderosa e fácil deaprender que possui estruturas de alto nível, com u...
Características Importantes
Características Importantes    Paradigmas        −   Multi-paradigma                                      Orientada a Ob...
Características Importantes    Tipagem         −    Dinâmica         −    Forte    Escopo de variáveis         −    Está...
Características Importantes    Multiplataforma         −    Windows         −    GNU/Linux         −    MacOS         −  ...
Características Importantes    Outras características         −    Tudo é objeto (inclusive tipos de dados)         −    ...
Programando
Começando...    Na programação interativa, basta abrir o interpretador e digitar    os comandos>>> print “Olha eu aqui!” ...
Sintaxe Básica    Blocos são definidos por identação>>> i = 0              #Sem ; no final da instrução>>> while i < 2:  ...
Fora do interpretador    Código fonte em arquivo .py ou .pyw (no Windows)    Exemplo:#!/usr/bin/env python#-*- coding: u...
Fora do interpretador (cont.)    A terceira linha é um comentário com o nome do arquivo    python. É convenção colocar es...
Controle de fluxo - seleção    Em python não existe switchif x < 0:         pass      #usado para não fazer nadaelse:    ...
Controle de fluxo - seleção●   Fazer um switch usando    dicionários:    def case_1():            x = raw_input()         ...
Controle de fluxo - laço    Temos duas instruções para laços – for e while (não tem do)    while executa um laço condici...
Controle de fluxo - laço    Para controle com instruções localizadas pelo usuário temos as    instruções break e continue...
Subprogramas    Todos subprogramas são funções    Funções sem return, ou com return sem parâmetros retornam    Nonedef f...
Subprogramas (cont.)def continuar(opcao = true):       continua alguma coisa       if opcao:              print “Continuan...
Orientação a Objetos●   Tudo é objeto, da estrutura mais simples à mais complexa●   Classes    class MinhaClasse(SuperClas...
Orientação a objetos●   Python possui herança múltipla●   Todo método de classe recebe o parâmetro self●   Atributos não p...
Orientação a objetos (cont.)x = classe()              #Instanciando...y = classe2(param)x.metodo1(param1, param2)   #utili...
Programação funcional●   filter(func, lista) retorna uma sequência com os itens da lista    para os quais func é verdadeir...
Programação funcional (cont.)●   reduce(func, lista) aplica sucessivamente func aos elementos    de lista dois a dois, ret...
Módulos●   Interfaces gráficas         –   wxPython         –   TkInter         –   PyQt         –   PyGTK●   Científico e...
Módulos (cont.)●   Jogos          –   Pygame●   Imagens          –   PyOpenGL          –   PyOgre          –   Soya 3D    ...
Programas que usam Python●   YUM●   Wicd●   BitTorrent●   ForecastWatch●   Wing IDE●   Blender (renderização de imagens)● ...
Programas que usam Python               (cont.)●   GIMP●   Inkscape●   Poser●   Jogos           –   Battlefield 2 (Windows...
Frets On FireCivilization IV
Mount & BladePySol
InkscapePoser
Referências●   Rossum, Guido von, PythonTutorial– Release 2.4.2, 2005,    Python Software Foundation●   Rossum, Guido von,...
Obrigado!!!
Próximos SlideShares
Carregando em…5
×

Aula python

589 visualizações

Publicada em

Slideshow made for Programming Languages classes at college

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
589
No SlideShare
0
A partir de incorporações
0
Número de incorporações
8
Ações
Compartilhamentos
0
Downloads
12
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Aula python

  1. 1. Grupo – 1 Júlio César Eiras Melanda – 14267 Emmanuel Ferreira Borges - 13675Wellington dos Santos Flauzino – 13739 Universidade Federal de Itajubá - 27/05/09
  2. 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. 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. 4. Conteúdo (cont.)● Módulos● Programas que usam Python● Referências
  5. 5. ObjetivosApresentar para a turma a linguagem de programação Pythonem sua versão 2.x pois houve quebra de compatibilidade naversão 3.0 que ainda não é largamente usada..Desta forma, serão abordados tópicos referentes ao projeto dalinguagem, relacionando à matéria estudada, além de algunsexemplos de como funciona a programação nesta linguagemque está entre as que mais vem crescendo em importância nosúltimos anos.
  6. 6. O que é PythonPython é uma linguagem de programação poderosa e fácil deaprender que possui estruturas de alto nível, com uma abordagemsimples e efetiva à programação orientada a objetos. [1]Foi criada no início da década de 90 por Guido van Rossum naHolanda 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 Pythons Flying Circus”, enão das cobras de mesmo nome.[1]Python é muito versátil podendo ser usada em aplicativos Web dolado servidor, jogos, programas de controle e configuração desistemas, scripts, editores de imagens, music players, Webbrowsers e muito mais.
  7. 7. Características Importantes
  8. 8. Características Importantes Paradigmas − Multi-paradigma  Orientada a Objetos  Procedural  Funcional  Scripting Compilação − Interpretada − Programação interativa − Bytecodes
  9. 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. 10. Características Importantes Multiplataforma − Windows − GNU/Linux − MacOS − PalmOS − Symbian Estruturas de dados nativas − Listas − Dicionários − Tuplas − Conjuntos
  11. 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)
  12. 12. Programando
  13. 13. Começando... Na programação interativa, basta abrir o interpretador e digitar os comandos>>> print “Olha eu aqui!” #isto é um comentárioOlha eu aqui!>>> x = 3 #Não precisa declarar x>>> x #Mostra o objeto vinculado ao nome x3
  14. 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. 15. Fora do interpretador Código fonte em arquivo .py ou .pyw (no Windows) Exemplo:#!/usr/bin/env python#-*- coding: utf8 -*-#mentira.pyMostra uma mentira na telaprint “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. 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. 17. Controle de fluxo - seleção Em python não existe switchif x < 0: pass #usado para não fazer nadaelse: passif y == 1: #if e elif funcionam como cases pass #com a vantagem de aceitarelif y > 2: #expressões passelse: #Faz o papel do default pass
  18. 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. 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-testewhile x >= 0: y = x * x x -= 1 for executa iteração sobre uma listafor 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. 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 elsefor 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. 21. Subprogramas Todos subprogramas são funções Funções sem return, ou com return sem parâmetros retornam Nonedef 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. 22. Subprogramas (cont.)def continuar(opcao = true): continua alguma coisa if opcao: print “Continuando” else: print “Você decidiu parar”>>> continuar() #parâmetro é opcionalContinuando>>> continuar(false)Você decidiu parar
  23. 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. 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. 25. Orientação a objetos (cont.)x = classe()              #Instanciando...y = classe2(param)x.metodo1(param1, param2) #utilizando métodosz = y.troca1(a, b)var = x.atributo1 #utilizando atributoy.atributo2 = Arara #setando atributos
  26. 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. 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. 28. Módulos● Interfaces gráficas – wxPython – TkInter – PyQt – PyGTK● Científico e numérico – numpy – scipy – ScientificPython – BioPython
  29. 29. Módulos (cont.)● Jogos – Pygame● Imagens – PyOpenGL – PyOgre – Soya 3D – Panda 3d● Web – Django – TurboGears – Zope
  30. 30. Programas que usam Python● YUM● Wicd● BitTorrent● ForecastWatch● Wing IDE● Blender (renderização de imagens)● OpenOffice● Scribus● Vim
  31. 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
  32. 32. Frets On FireCivilization IV
  33. 33. Mount & BladePySol
  34. 34. InkscapePoser
  35. 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
  36. 36. Obrigado!!!

×