SlideShare ist ein Scribd-Unternehmen logo
1 von 45
é uma linguagem
                                   interpretada, interativa,
                                   funcional, orientada a objetos,
                                   dinamicamente tipada e com
                                   gerenciamento automático de
                                   memória
                                   Similar em certos aspectos a
                                   Perl, Ruby, Scheme, Smalltalk
                                   e Tcl

                                                                2
Prof. Fabio Alexandre Spanhol, M.Sc.
3
Prof. Fabio Alexandre Spanhol, M.Sc.
Guido van Rossum é
                                       referido pela comunidade
                                       python, desde 1995, como
                                       Benevolent Dictator For Life
                                       (BDFL)
                                       ◦ Desde dezembro de 2005
                                         Guido trabalha na Google,
                                         dedicando 50% do seu tempo
                                         com a linguagem
                                       ◦ http://www.python.org/~guido




                                                                        4
Prof. Fabio Alexandre Spanhol, M.Sc.
Não veio da cobra!
                                       ◦ "Over six years ago, in December 1989,
                                        I was looking for a "hobby"
                                        programming project that would keep
                                        me occupied during the week around
                                        Christmas. My office ... would be
                                        closed, but I had a home computer,
                                        and not much else on my hands. I
                                        decided to write an interpreter for the
                                        new scripting language I had been
                                        thinking about lately: a descendant of
                                        ABC that would appeal to Unix/C
                                        hackers. I chose Python as a working
                                        title for the project, being in a slightly
                                        irreverent mood (and a big fan of
                                        Monty Python´s Flying Circus)”.

                                                                                     5
Prof. Fabio Alexandre Spanhol, M.Sc.
NADA!
Python foi desenvolvido como um
projeto open source, sem fins
lucrativos e gerenciado pela PSF
(Python Software Foundation)
◦ A versão Python 2.7 foi liberada em 3 de
  julho de 2010
◦ A versão Python 3.1.2* foi liberada em 21
  de março de 2010
Para obter o interpretador Python
acessar
http://www.python.org/download/
                                              6
Prof. Fabio Alexandre Spanhol, M.Sc.
http://www.python.org/about/success/
◦ Google
◦ NASA
◦ Yahoo
◦ InfoSeek
◦ MCI Worldcom
◦ IBM
◦ Higway
◦ Industrial Light and Magic
◦ AstraZeneca
◦ Honeywell



                                       7
Prof. Fabio Alexandre Spanhol, M.Sc.
Governo Federal
Petrobras
Serpro
Embratel
Globo.com
StarOne
Conectiva
CPqD
Async
Haxent
UTFPR


                                       8
Prof. Fabio Alexandre Spanhol, M.Sc.
Vários projetos da comunidade Software
Livre
◦ Blender
◦ OpenOffice
◦ Zope/Plone
◦ MoinMoin
◦ Mailman
◦ BitTorrent
◦ Chandler
◦ Gimp
◦ Plone
◦ Django
◦ OpenERP
◦ inVesalius                             9
Prof. Fabio Alexandre Spanhol, M.Sc.
Web e Internet
Database
GUIs
Científico e processamento numérico
Educação
Programação de rede
Construção e teste de software
Desenvolvimento de jogos e
renderização 3D
Onde mais sua imaginação mandar!

                                       10
Prof. Fabio Alexandre Spanhol, M.Sc.
11
Prof. Fabio Alexandre Spanhol, M.Sc.
Unix: HP-UX, Solaris ...
Linux (freqüentemente pré-instalada)
Mac OSX (sempre pré-instalada)
Windows: 9x, ME, 2K, XP, Vista, Seven
(ctypes, win32all)
Nokia Série 60 e Maemo
PalmOS (PipPy)




                                        12
Prof. Fabio Alexandre Spanhol, M.Sc.
Compilação Híbrida
como     Java,    programas     Python    são
compilados, porém para uma linguagem
intermediária, destinada a um interpretador
◦ Tal como Java, isso isola Python de muitas das
  excentricidades das máquinas reais na qual ele
  roda, provendo um nível de portabilidade
  equivalente a Java




                                                   13
Prof. Fabio Alexandre Spanhol, M.Sc.
De altíssimo nível e
                                       poderosa
                                       Elegante, com sintaxe
                                       simples e concisa
                                       Fácil de aprender, “cabe”
                                       no seu cérebro 
                                       Multiparadigma:
                                       Funcional, Procedural e
                                       Orientado a Objetos
                                       Possui suporte nativo a
                                       estruturas de dados
                                       complexas                   14
Prof. Fabio Alexandre Spanhol, M.Sc.
15
Prof. Fabio Alexandre Spanhol, M.Sc.
16
Prof. Fabio Alexandre Spanhol, M.Sc.
17
Prof. Fabio Alexandre Spanhol, M.Sc.
18
Prof. Fabio Alexandre Spanhol, M.Sc.
Extensa biblioteca
                                       padrão
                                       Um módulo para o que
                                       você precisar
                                       sys, random, re,
                                       datetime, calendar, csv,
                                       os, webbrowser, string,
                                       urlib, Tkinter, codecs,
                                       pickle, types, array,
                                       mutex, queue, zlib, gzip,
                                       md5, thread, socket,
                                       email, xml.dom, locale,
                                                                   19
Prof. Fabio Alexandre Spanhol, M.Sc.
20
Prof. Fabio Alexandre Spanhol, M.Sc.
29 palavras reservadas
◦ (Java tem 52 e C# 77)
and                                    exec      not
assert                                 finally   or
break                                  for       pass
class                                  from      print
Continue                               global    raise
def                                    if        return
del                                    import    try
elif                                   in        while
else                                   is        yeld
except                                 lambda             21
Prof. Fabio Alexandre Spanhol, M.Sc.
IDLE
interpretador




                                       22
Prof. Fabio Alexandre Spanhol, M.Sc.
Cython (onde existir um compilador C
ISO/IEC 9899:1990)
Jython (máquina virtual Java)
PyPy (Python implementado em Python)
Python for .NET [Brian Lloyd], IronPython
(em desenvolvimento na M$)
Python for Delphi
LunaticPython (interoperando com Lua)
Ruby/Python (em Ruby importar módulos
Python)




                                            23
Prof. Fabio Alexandre Spanhol, M.Sc.
Python é case-sensitive
Cada linha é delimitada por enter
Tipagem forte e dinâmica
◦ Não há declaração de variáveis
Comentários iniciam por #
Comentários em várias linhas delimitados
por aspas triplas “””
Alguns operadores
◦     Atribuição: =
◦     Aritméticos: +, -, *, /, **,//,%
◦     Relacionais: <,>,>=,<=, ==,!=,<>,is, in
◦     Lógicos: and,or,not
◦     Bitwise: |,^,&,>>,<<,~

                                                24
    Prof. Fabio Alexandre Spanhol, M.Sc.
A estrutura dos blocos é definida pela
indentação
◦ Não misturar tabulações com espaços


      for i in range(25):
         if i%3 == 0:
            print i
            if i%5 == 0:
               print "Bingo!"
         print “-”*5




                                         25
Prof. Fabio Alexandre Spanhol, M.Sc.
Inteiros
◦ x = 10
◦ y = 56859898958711346465165798798715654000000000000**2
◦ z = y + x
   3233048109594863662031421586618163610229539807267781773950479
    944647716000000000000000000000010L
Ponto flutuante
◦ f = 85.99984
Booleanos
◦ True e False
Strings
◦     Delimitadas por aspas ou apóstrofo
◦     s = “python”
◦     s2 = ‘language’
◦     s3 = “%s %s” % (s,s2)



                                                                    26
    Prof. Fabio Alexandre Spanhol, M.Sc.
Usando type
>>> x = 2
>>> print type(x)
<type 'int'>
>>> x = "dois"
>>> print type(x)
<type 'string'>
>>> x = 10.2
>>> print type(x)
<type 'float'>
>>> x=round
>>> print x
<built-in function round>



                                        27
 Prof. Fabio Alexandre Spanhol, M.Sc.
Tuplas
◦ Imutáveis
◦ (‘Fabio’,32, False, 88.5,186)
Listas
◦ mutáveis
◦ [‘Fabio’,32, False, 88.5,186]
Dicionários
◦ Chaves com valores associados
◦ refeicoes = {"café" : “cereal com leite e mel", "almoço" :
  "macarrão carbonara“,"jantar" : "sopa de champignon"}
◦ print refeicoes["almoço"]
Conjuntos
◦ Não permite elementos duplicados
◦ set([1,2,3,4,5,6,8,9,8,1,2,7,1,2,5])
◦ Retorna
   set([1, 2, 3, 4, 5, 6, 7, 8, 9])


                                                               28
Prof. Fabio Alexandre Spanhol, M.Sc.
Entrada com raw_input
◦ nome=raw_input("Qual o seu nome?")
◦ idade=int(raw_input(“Qual a sua idade?”)
Saída com print
◦ print nome
◦ print "Ola %s, sua nota:%10.2f" % (nome,nota)




                                                  29
Prof. Fabio Alexandre Spanhol, M.Sc.
if
if (expressao):
   bloco
[elif (expressao):
   bloco]
[else:
   bloco]




                                         30
  Prof. Fabio Alexandre Spanhol, M.Sc.
exemplo
s = raw_input(“número entre 0 e 100? ")
n = int(s)
if not 0 < n < 100:
   print "Número inválido."
if n % 2 == 0:
   print "Número Par"
else:
   print "Número Ímpar"




                                          31
  Prof. Fabio Alexandre Spanhol, M.Sc.
for
for variavel in sequencia:
   bloco
[else:
   bloco]
 while
while (expressao):
   bloco
[else:
   bloco]


                                        32
 Prof. Fabio Alexandre Spanhol, M.Sc.
Exemplo
#encoding: utf-8
cores=[‘verde',‘amarelo',‘azul',‘branco']
for cor in cores:
 print cor ' é minha cor favorita!'




                                            33
  Prof. Fabio Alexandre Spanhol, M.Sc.
Modularizam o código
#encoding: utf-8

#função que escreve n termos da série de fibonacci
def fibo(n):
    a,b,t=0,1,1
    while t <= n:
        print b
        a, b = b, a + b
        t+=1
x=int(raw_input("Quantos termos?"))
fibo(x)




                                                     34
  Prof. Fabio Alexandre Spanhol, M.Sc.
35
Prof. Fabio Alexandre Spanhol, M.Sc.
36
Prof. Fabio Alexandre Spanhol, M.Sc.
37
Prof. Fabio Alexandre Spanhol, M.Sc.
38
Prof. Fabio Alexandre Spanhol, M.Sc.
39
Prof. Fabio Alexandre Spanhol, M.Sc.
Inverter a ordem das cartas
◦ baralho.reverse()
Tirar a carta do topo
◦ baralho.pop()
Adicionar 4 coringas
◦ baralho.extend([‘Coringa’]*4)
Colocar em ordem
◦ baralho.sort()
   Pelo número de letras:
    baralho.sort(key=len)




                                        40
 Prof. Fabio Alexandre Spanhol, M.Sc.
41
Prof. Fabio Alexandre Spanhol, M.Sc.
Também tem!
                         Você pode fazer programação
                         Funcional sem Lost in Stupid
                         Parenthesis (LISP) 




                                                        42
Prof. Fabio Alexandre Spanhol, M.Sc.
43
Prof. Fabio Alexandre Spanhol, M.Sc.
44
Prof. Fabio Alexandre Spanhol, M.Sc.
45
Prof. Fabio Alexandre Spanhol, M.Sc.

Weitere ähnliche Inhalte

Ähnlich wie "Mostrando a Cobra" - ou Breve Introdução a Linguagem Python. ed2

Apresentação lazarus flisol
Apresentação lazarus flisolApresentação lazarus flisol
Apresentação lazarus flisol
Cícero Rocha
 
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
William Colen
 
Linguagens de programação
Linguagens de programaçãoLinguagens de programação
Linguagens de programação
essa
 
Palestra 01
Palestra 01Palestra 01
Palestra 01
mbcleao
 
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
AmlieOGalaxias
 

Ähnlich wie "Mostrando a Cobra" - ou Breve Introdução a Linguagem Python. ed2 (20)

Paradigmas de Linguagens de Programação
Paradigmas de Linguagens de ProgramaçãoParadigmas de Linguagens de Programação
Paradigmas de Linguagens de Programação
 
Apresentação lazarus flisol
Apresentação lazarus flisolApresentação lazarus flisol
Apresentação lazarus flisol
 
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
 
Isc aula 7
Isc   aula 7Isc   aula 7
Isc aula 7
 
Linguagensdeprogramao 100611235520-phpapp01
Linguagensdeprogramao 100611235520-phpapp01Linguagensdeprogramao 100611235520-phpapp01
Linguagensdeprogramao 100611235520-phpapp01
 
Python Training #1 - ed4
Python Training #1 - ed4Python Training #1 - ed4
Python Training #1 - ed4
 
Linguagens de programação
Linguagens de programaçãoLinguagens de programação
Linguagens de programação
 
Python Mini Ccurso Consegi2011
Python Mini Ccurso Consegi2011Python Mini Ccurso Consegi2011
Python Mini Ccurso Consegi2011
 
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO I
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO ILIVRO PROPRIETÁRIO - PROGRAMAÇÃO I
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO I
 
Minicurso de python - CACC UFPA 2010
Minicurso de python - CACC UFPA 2010Minicurso de python - CACC UFPA 2010
Minicurso de python - CACC UFPA 2010
 
Automação de Aplicativos: Scripting com Python
Automação de Aplicativos: Scripting com PythonAutomação de Aplicativos: Scripting com Python
Automação de Aplicativos: Scripting com Python
 
Functional Programming - Scala
Functional Programming - ScalaFunctional Programming - Scala
Functional Programming - Scala
 
Linguagem Python
Linguagem PythonLinguagem Python
Linguagem Python
 
Python brasil[6]
Python brasil[6]Python brasil[6]
Python brasil[6]
 
Phyton
PhytonPhyton
Phyton
 
O modelo htm e sua aplicação no processamento de linguagem natural
O modelo htm e sua aplicação no processamento de linguagem naturalO modelo htm e sua aplicação no processamento de linguagem natural
O modelo htm e sua aplicação no processamento de linguagem natural
 
Python Training #0.5 ed. 7
Python Training #0.5 ed. 7Python Training #0.5 ed. 7
Python Training #0.5 ed. 7
 
Aula 01 python
Aula 01 pythonAula 01 python
Aula 01 python
 
Palestra 01
Palestra 01Palestra 01
Palestra 01
 
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
 

Mehr von Fabio Spanhol

Computação Científica com SciPy - Brevíssimo Tutorial
Computação Científica com SciPy - Brevíssimo TutorialComputação Científica com SciPy - Brevíssimo Tutorial
Computação Científica com SciPy - Brevíssimo Tutorial
Fabio Spanhol
 

Mehr von Fabio Spanhol (12)

Classificação Automatizada de Câncer de Mama - Imagens Histopatológicas
Classificação Automatizada de Câncer de Mama - Imagens HistopatológicasClassificação Automatizada de Câncer de Mama - Imagens Histopatológicas
Classificação Automatizada de Câncer de Mama - Imagens Histopatológicas
 
Quem Tem Medo do Terminal?
Quem Tem Medo do Terminal?Quem Tem Medo do Terminal?
Quem Tem Medo do Terminal?
 
Aprendizado Profundo & CNNs
Aprendizado Profundo & CNNsAprendizado Profundo & CNNs
Aprendizado Profundo & CNNs
 
Python Training #1, ed. 6
Python Training #1, ed. 6Python Training #1, ed. 6
Python Training #1, ed. 6
 
Python Training #1 - ed5
Python Training #1 - ed5Python Training #1 - ed5
Python Training #1 - ed5
 
Linguagem C 01 - Tópicos Introdutórios
Linguagem C 01 - Tópicos IntrodutóriosLinguagem C 01 - Tópicos Introdutórios
Linguagem C 01 - Tópicos Introdutórios
 
ENEM - Exame Nacional do Ensino Médio
ENEM - Exame Nacional do Ensino MédioENEM - Exame Nacional do Ensino Médio
ENEM - Exame Nacional do Ensino Médio
 
Elaboração e Gerenciamento de Projetos
Elaboração e Gerenciamento de Projetos Elaboração e Gerenciamento de Projetos
Elaboração e Gerenciamento de Projetos
 
XML-RPC: Tópicos Introdutórios
XML-RPC: Tópicos IntrodutóriosXML-RPC: Tópicos Introdutórios
XML-RPC: Tópicos Introdutórios
 
Gestão de Projetos com MS-Project 2010
Gestão de Projetos com MS-Project 2010Gestão de Projetos com MS-Project 2010
Gestão de Projetos com MS-Project 2010
 
Computação Científica com SciPy - Brevíssimo Tutorial
Computação Científica com SciPy - Brevíssimo TutorialComputação Científica com SciPy - Brevíssimo Tutorial
Computação Científica com SciPy - Brevíssimo Tutorial
 
E essa tal Virtualização?
E essa tal Virtualização?E essa tal Virtualização?
E essa tal Virtualização?
 

"Mostrando a Cobra" - ou Breve Introdução a Linguagem Python. ed2

  • 1.
  • 2. é uma linguagem interpretada, interativa, funcional, orientada a objetos, dinamicamente tipada e com gerenciamento automático de memória Similar em certos aspectos a Perl, Ruby, Scheme, Smalltalk e Tcl 2 Prof. Fabio Alexandre Spanhol, M.Sc.
  • 3. 3 Prof. Fabio Alexandre Spanhol, M.Sc.
  • 4. Guido van Rossum é referido pela comunidade python, desde 1995, como Benevolent Dictator For Life (BDFL) ◦ Desde dezembro de 2005 Guido trabalha na Google, dedicando 50% do seu tempo com a linguagem ◦ http://www.python.org/~guido 4 Prof. Fabio Alexandre Spanhol, M.Sc.
  • 5. Não veio da cobra! ◦ "Over six years ago, in December 1989, I was looking for a "hobby" programming project that would keep me occupied during the week around Christmas. My office ... would be closed, but I had a home computer, and not much else on my hands. I decided to write an interpreter for the new scripting language I had been thinking about lately: a descendant of ABC that would appeal to Unix/C hackers. I chose Python as a working title for the project, being in a slightly irreverent mood (and a big fan of Monty Python´s Flying Circus)”. 5 Prof. Fabio Alexandre Spanhol, M.Sc.
  • 6. NADA! Python foi desenvolvido como um projeto open source, sem fins lucrativos e gerenciado pela PSF (Python Software Foundation) ◦ A versão Python 2.7 foi liberada em 3 de julho de 2010 ◦ A versão Python 3.1.2* foi liberada em 21 de março de 2010 Para obter o interpretador Python acessar http://www.python.org/download/ 6 Prof. Fabio Alexandre Spanhol, M.Sc.
  • 7. http://www.python.org/about/success/ ◦ Google ◦ NASA ◦ Yahoo ◦ InfoSeek ◦ MCI Worldcom ◦ IBM ◦ Higway ◦ Industrial Light and Magic ◦ AstraZeneca ◦ Honeywell 7 Prof. Fabio Alexandre Spanhol, M.Sc.
  • 9. Vários projetos da comunidade Software Livre ◦ Blender ◦ OpenOffice ◦ Zope/Plone ◦ MoinMoin ◦ Mailman ◦ BitTorrent ◦ Chandler ◦ Gimp ◦ Plone ◦ Django ◦ OpenERP ◦ inVesalius 9 Prof. Fabio Alexandre Spanhol, M.Sc.
  • 10. Web e Internet Database GUIs Científico e processamento numérico Educação Programação de rede Construção e teste de software Desenvolvimento de jogos e renderização 3D Onde mais sua imaginação mandar! 10 Prof. Fabio Alexandre Spanhol, M.Sc.
  • 11. 11 Prof. Fabio Alexandre Spanhol, M.Sc.
  • 12. Unix: HP-UX, Solaris ... Linux (freqüentemente pré-instalada) Mac OSX (sempre pré-instalada) Windows: 9x, ME, 2K, XP, Vista, Seven (ctypes, win32all) Nokia Série 60 e Maemo PalmOS (PipPy) 12 Prof. Fabio Alexandre Spanhol, M.Sc.
  • 13. Compilação Híbrida como Java, programas Python são compilados, porém para uma linguagem intermediária, destinada a um interpretador ◦ Tal como Java, isso isola Python de muitas das excentricidades das máquinas reais na qual ele roda, provendo um nível de portabilidade equivalente a Java 13 Prof. Fabio Alexandre Spanhol, M.Sc.
  • 14. De altíssimo nível e poderosa Elegante, com sintaxe simples e concisa Fácil de aprender, “cabe” no seu cérebro  Multiparadigma: Funcional, Procedural e Orientado a Objetos Possui suporte nativo a estruturas de dados complexas 14 Prof. Fabio Alexandre Spanhol, M.Sc.
  • 15. 15 Prof. Fabio Alexandre Spanhol, M.Sc.
  • 16. 16 Prof. Fabio Alexandre Spanhol, M.Sc.
  • 17. 17 Prof. Fabio Alexandre Spanhol, M.Sc.
  • 18. 18 Prof. Fabio Alexandre Spanhol, M.Sc.
  • 19. Extensa biblioteca padrão Um módulo para o que você precisar sys, random, re, datetime, calendar, csv, os, webbrowser, string, urlib, Tkinter, codecs, pickle, types, array, mutex, queue, zlib, gzip, md5, thread, socket, email, xml.dom, locale, 19 Prof. Fabio Alexandre Spanhol, M.Sc.
  • 20. 20 Prof. Fabio Alexandre Spanhol, M.Sc.
  • 21. 29 palavras reservadas ◦ (Java tem 52 e C# 77) and exec not assert finally or break for pass class from print Continue global raise def if return del import try elif in while else is yeld except lambda 21 Prof. Fabio Alexandre Spanhol, M.Sc.
  • 22. IDLE interpretador 22 Prof. Fabio Alexandre Spanhol, M.Sc.
  • 23. Cython (onde existir um compilador C ISO/IEC 9899:1990) Jython (máquina virtual Java) PyPy (Python implementado em Python) Python for .NET [Brian Lloyd], IronPython (em desenvolvimento na M$) Python for Delphi LunaticPython (interoperando com Lua) Ruby/Python (em Ruby importar módulos Python) 23 Prof. Fabio Alexandre Spanhol, M.Sc.
  • 24. Python é case-sensitive Cada linha é delimitada por enter Tipagem forte e dinâmica ◦ Não há declaração de variáveis Comentários iniciam por # Comentários em várias linhas delimitados por aspas triplas “”” Alguns operadores ◦ Atribuição: = ◦ Aritméticos: +, -, *, /, **,//,% ◦ Relacionais: <,>,>=,<=, ==,!=,<>,is, in ◦ Lógicos: and,or,not ◦ Bitwise: |,^,&,>>,<<,~ 24 Prof. Fabio Alexandre Spanhol, M.Sc.
  • 25. A estrutura dos blocos é definida pela indentação ◦ Não misturar tabulações com espaços for i in range(25): if i%3 == 0: print i if i%5 == 0: print "Bingo!" print “-”*5 25 Prof. Fabio Alexandre Spanhol, M.Sc.
  • 26. Inteiros ◦ x = 10 ◦ y = 56859898958711346465165798798715654000000000000**2 ◦ z = y + x  3233048109594863662031421586618163610229539807267781773950479 944647716000000000000000000000010L Ponto flutuante ◦ f = 85.99984 Booleanos ◦ True e False Strings ◦ Delimitadas por aspas ou apóstrofo ◦ s = “python” ◦ s2 = ‘language’ ◦ s3 = “%s %s” % (s,s2) 26 Prof. Fabio Alexandre Spanhol, M.Sc.
  • 27. Usando type >>> x = 2 >>> print type(x) <type 'int'> >>> x = "dois" >>> print type(x) <type 'string'> >>> x = 10.2 >>> print type(x) <type 'float'> >>> x=round >>> print x <built-in function round> 27 Prof. Fabio Alexandre Spanhol, M.Sc.
  • 28. Tuplas ◦ Imutáveis ◦ (‘Fabio’,32, False, 88.5,186) Listas ◦ mutáveis ◦ [‘Fabio’,32, False, 88.5,186] Dicionários ◦ Chaves com valores associados ◦ refeicoes = {"café" : “cereal com leite e mel", "almoço" : "macarrão carbonara“,"jantar" : "sopa de champignon"} ◦ print refeicoes["almoço"] Conjuntos ◦ Não permite elementos duplicados ◦ set([1,2,3,4,5,6,8,9,8,1,2,7,1,2,5]) ◦ Retorna  set([1, 2, 3, 4, 5, 6, 7, 8, 9]) 28 Prof. Fabio Alexandre Spanhol, M.Sc.
  • 29. Entrada com raw_input ◦ nome=raw_input("Qual o seu nome?") ◦ idade=int(raw_input(“Qual a sua idade?”) Saída com print ◦ print nome ◦ print "Ola %s, sua nota:%10.2f" % (nome,nota) 29 Prof. Fabio Alexandre Spanhol, M.Sc.
  • 30. if if (expressao): bloco [elif (expressao): bloco] [else: bloco] 30 Prof. Fabio Alexandre Spanhol, M.Sc.
  • 31. exemplo s = raw_input(“número entre 0 e 100? ") n = int(s) if not 0 < n < 100: print "Número inválido." if n % 2 == 0: print "Número Par" else: print "Número Ímpar" 31 Prof. Fabio Alexandre Spanhol, M.Sc.
  • 32. for for variavel in sequencia: bloco [else: bloco] while while (expressao): bloco [else: bloco] 32 Prof. Fabio Alexandre Spanhol, M.Sc.
  • 33. Exemplo #encoding: utf-8 cores=[‘verde',‘amarelo',‘azul',‘branco'] for cor in cores: print cor ' é minha cor favorita!' 33 Prof. Fabio Alexandre Spanhol, M.Sc.
  • 34. Modularizam o código #encoding: utf-8 #função que escreve n termos da série de fibonacci def fibo(n): a,b,t=0,1,1 while t <= n: print b a, b = b, a + b t+=1 x=int(raw_input("Quantos termos?")) fibo(x) 34 Prof. Fabio Alexandre Spanhol, M.Sc.
  • 35. 35 Prof. Fabio Alexandre Spanhol, M.Sc.
  • 36. 36 Prof. Fabio Alexandre Spanhol, M.Sc.
  • 37. 37 Prof. Fabio Alexandre Spanhol, M.Sc.
  • 38. 38 Prof. Fabio Alexandre Spanhol, M.Sc.
  • 39. 39 Prof. Fabio Alexandre Spanhol, M.Sc.
  • 40. Inverter a ordem das cartas ◦ baralho.reverse() Tirar a carta do topo ◦ baralho.pop() Adicionar 4 coringas ◦ baralho.extend([‘Coringa’]*4) Colocar em ordem ◦ baralho.sort()  Pelo número de letras: baralho.sort(key=len) 40 Prof. Fabio Alexandre Spanhol, M.Sc.
  • 41. 41 Prof. Fabio Alexandre Spanhol, M.Sc.
  • 42. Também tem! Você pode fazer programação Funcional sem Lost in Stupid Parenthesis (LISP)  42 Prof. Fabio Alexandre Spanhol, M.Sc.
  • 43. 43 Prof. Fabio Alexandre Spanhol, M.Sc.
  • 44. 44 Prof. Fabio Alexandre Spanhol, M.Sc.
  • 45. 45 Prof. Fabio Alexandre Spanhol, M.Sc.