SlideShare uma empresa Scribd logo
1 de 21
Baixar para ler offline
Roteiro
   Afinal, o que é Python?
   O interpretador
   Sintaxe básica
   Controle de fluxo
   Estruturas de dados
   Funções
   Classes
   Módulos e Standard Library

                                   Python:
                                 Introdução
O que é Python?
   Interpretada, VHLL
   Criada por Guido van Rossum em 1989
   Multiplataforma
   OO, Procedural e funcional
   Software livre
   Baterias incluídas!
   Sintaxe elegante, simples e clara
   Tipagem dinãmica e forte

                                   Python:
                                 Introdução
Onde é usada?
   Empresas:
    – Google
    – NASA
    – SERPRO (...)
   Software:
    – Trac
    – GIMP
    – Blender
    – GNOME (...)

                                  Python:
                                Introdução
Onde roda?
   UNIX likes:
    – GNU/Linux (maioria vem por padrão)
    – Mac OS X (sempre por padrão)
   Windows (tem que instalar)
   Nokia Series 60
   ...




                                       Python:
                                     Introdução
Aplicações
   Scripts
   Computação gráfica
   Web:
    – web2py :-)
    – Django
    – Zope
    – ...
   Jogos
   Programas em geral (GUI)
                                 Python:
                               Introdução
História




             Python:
           Introdução
Características e
             Vantagens
   Fácil de aprender
   Poderosa
   Alta produtividade
   Estruturas de dados de alto nível:
    tuplas, listas, dicionários, ...
   Linguagem dinâmica -> runtime!
   Blocos de código são delimitados
    por endentação (!?)
                                Python:
                              Introdução
Interpretador e Shell
   Interpretador interativo:
    – "python" (shell)
    – "python arquivo.py" (interpretador)
   IPython




                                    Python:
                                  Introdução
Tipos de dados
   Tipos básicos:
    – Inteiro: 42
    – Ponto flutuante: 3.14
    – Complexo (!): 1.5 + 5.3j
    – String: “””minha string”””
   Estruturas de alto nível:
    – Tuplas: (1, “aaa”)
    – Listas: [1, 2.3, “abc”, [1, “b”]]
    – Dicionários: {'a': 1, 2: 'b', [1, 2]:
      [3, 4]}
                                     Python:
                                   Introdução
Controle de Fluxo
Nada de parênteses! Nada de chaves!
if expressão:
   Comando1
   ...
elif expressão2:
   Comando3
   ...
else:
   ...


                             Python:
                           Introdução
Controle de Fluxo (2)
for i in iterable:
   Comando1
   Comando2
   ...
while expressão2:
   Comando3
   ...
iterable → list, range(), dict, ...
break, continue, pass, for ... else


                             Python:
                           Introdução
Funções
def nome(args):
     Comando1
     ...
     [return X]
   *args
   **args
   arg1=valor, arg2=valor, ...
   lambda
   docstrings

                                Python:
                              Introdução
Módulos
• arq.py
• import arq
• arq.X
• arq.f()
• f2 = arq.f
• arq.__name__
• from arq import X, f
• from arq import *

                             Python:
                           Introdução
Arquivos
   open('nome', 'formato')
    – formato = rw, r, ...
   fp.
    – read()
    – readlines()
    – write()
    – writelines()
    – close()
   for l in fp: print l

                                 Python:
                               Introdução
Classes
class Nome:
 “””Essa é a minha classe...
 que não faz muita coisa”””


 self.atributo = valor
 def método(self, args...):
   cmd...




                                 Python:
                               Introdução
Classes (2)
   __init__()
   Overload of operators
   Métodos fora das classes:
    def f1(self, a, ...):
      ...
    class teste:
      f = f1
      def f2(self, b, ...): ...
   Herança [múltipla]

                                    Python:
                                  Introdução
Baterias incluídas
   sys, os, re, string, zlib
   socket, urrlib, httplib, imaplib
   time, datetime, math, random
   doctest, unittest, xml, xmlrpclib
   struct, pickle, cPickle, threading
   logging, decimal
   ...


                                  Python:
                                Introdução
Outras Bibliotecas
   NumPy
   SciPy
   MatplotLib
   PyODE
   Python-OpenGL
   Twisted Matrix
   ...


                            Python:
                          Introdução
The Zen of Python
>>> import this




                       Python:
                     Introdução
www.python.org
   PEPs
   Python Library Reference
   Python Manual Reference
   PyPI
   Implementações:
    – CPython
    – Jython
    – IronPython
    – PyPy
                                  Python:
                                Introdução
Sites interessantes
PythOnRio:
http://br.groups.yahoo.com/group/pythonrio/
Python Brasil:
http://www.python.org.br/
web2py:
http://www.web2py.com/
web2py-users-brazil:
http://groups.google.com/group/
                   web2py-users-brazil/

                                    Python:
                                  Introdução

Mais conteúdo relacionado

Mais procurados

Aula 1 aed - lógica de programação
Aula 1   aed - lógica de programaçãoAula 1   aed - lógica de programação
Aula 1 aed - lógica de programação
Elaine Cecília Gatto
 
1ª aula introdução a informática
1ª aula introdução a informática1ª aula introdução a informática
1ª aula introdução a informática
socrahn
 
Apresentação python fábio jr alves
Apresentação python   fábio jr alvesApresentação python   fábio jr alves
Apresentação python fábio jr alves
Grupython Ufla
 
Aula 01 fundamentos da informática
Aula 01   fundamentos da informáticaAula 01   fundamentos da informática
Aula 01 fundamentos da informática
Gilberto Campos
 

Mais procurados (20)

Aula 1 aed - lógica de programação
Aula 1   aed - lógica de programaçãoAula 1   aed - lógica de programação
Aula 1 aed - lógica de programação
 
Aula01 - Logica de Programação
Aula01 - Logica de ProgramaçãoAula01 - Logica de Programação
Aula01 - Logica de Programação
 
Plano operacional para plano de negócios
Plano operacional para plano de negóciosPlano operacional para plano de negócios
Plano operacional para plano de negócios
 
Aula de QFD - Desdobramento da Função de Qualidade
Aula de QFD - Desdobramento da Função de QualidadeAula de QFD - Desdobramento da Função de Qualidade
Aula de QFD - Desdobramento da Função de Qualidade
 
Scrum
ScrumScrum
Scrum
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Linguagem Dart (Google)
Linguagem Dart (Google)Linguagem Dart (Google)
Linguagem Dart (Google)
 
Métodos Ágeis e Scrum - Introdução
Métodos Ágeis e Scrum - IntroduçãoMétodos Ágeis e Scrum - Introdução
Métodos Ágeis e Scrum - Introdução
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
 
Logica Programação. ...
Logica Programação. ...Logica Programação. ...
Logica Programação. ...
 
1ª aula introdução a informática
1ª aula introdução a informática1ª aula introdução a informática
1ª aula introdução a informática
 
Apresentação python fábio jr alves
Apresentação python   fábio jr alvesApresentação python   fábio jr alves
Apresentação python fábio jr alves
 
Aula sobre Linux.
Aula sobre Linux. Aula sobre Linux.
Aula sobre Linux.
 
Aula básica de internet
Aula básica de internetAula básica de internet
Aula básica de internet
 
Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01   Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01
 
Introdução ao ITIL
Introdução ao ITILIntrodução ao ITIL
Introdução ao ITIL
 
Sistemas Computacionais - Aula 01 - Apresentação
Sistemas Computacionais - Aula 01 - ApresentaçãoSistemas Computacionais - Aula 01 - Apresentação
Sistemas Computacionais - Aula 01 - Apresentação
 
A Importância da Gestão Financeira nas Empresas
A Importância da Gestão Financeira nas EmpresasA Importância da Gestão Financeira nas Empresas
A Importância da Gestão Financeira nas Empresas
 
Programa 5S
Programa 5SPrograma 5S
Programa 5S
 
Aula 01 fundamentos da informática
Aula 01   fundamentos da informáticaAula 01   fundamentos da informática
Aula 01 fundamentos da informática
 

Destaque

Destaque (9)

[DevInRio] Construindo robôs com software e hardware livres
[DevInRio] Construindo robôs com software e hardware livres[DevInRio] Construindo robôs com software e hardware livres
[DevInRio] Construindo robôs com software e hardware livres
 
Software Livre versus Open Source
Software Livre versus Open SourceSoftware Livre versus Open Source
Software Livre versus Open Source
 
Arduino: Brincando de eletrônica com Python e Hardware Livre
Arduino: Brincando de eletrônica com Python e Hardware LivreArduino: Brincando de eletrônica com Python e Hardware Livre
Arduino: Brincando de eletrônica com Python e Hardware Livre
 
Introdução a Programação com Python
Introdução a Programação com PythonIntrodução a Programação com Python
Introdução a Programação com Python
 
Datos Tabulares: La Manera Pythónica
Datos Tabulares: La Manera PythónicaDatos Tabulares: La Manera Pythónica
Datos Tabulares: La Manera Pythónica
 
Apresentação da ArcelorMittal
Apresentação da ArcelorMittalApresentação da ArcelorMittal
Apresentação da ArcelorMittal
 
Libertando dados públicos com ferramentas livres
Libertando dados públicos com ferramentas livresLibertando dados públicos com ferramentas livres
Libertando dados públicos com ferramentas livres
 
Processo de fabricação - Ferro-Gusa -> Aço
Processo de fabricação - Ferro-Gusa -> AçoProcesso de fabricação - Ferro-Gusa -> Aço
Processo de fabricação - Ferro-Gusa -> Aço
 
Aprenda a Programar Direito!
Aprenda a Programar Direito!Aprenda a Programar Direito!
Aprenda a Programar Direito!
 

Semelhante a Python

Comsolid2011 Introdução Python
Comsolid2011 Introdução PythonComsolid2011 Introdução Python
Comsolid2011 Introdução Python
Gleison Rodrigues
 
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
 
Python Pythononcampus Uva 060609
Python Pythononcampus Uva 060609Python Pythononcampus Uva 060609
Python Pythononcampus Uva 060609
gsroma
 
Linguagem Python
Linguagem PythonLinguagem Python
Linguagem Python
Natã Melo
 

Semelhante a Python (20)

Aula python
Aula pythonAula python
Aula python
 
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
 
Introdução à Programação em Python
Introdução à Programação em PythonIntrodução à Programação em Python
Introdução à Programação em 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
 
Linguagem de Programação Python
Linguagem de Programação PythonLinguagem de Programação Python
Linguagem de Programação Python
 
Comsolid2011 Introdução Python
Comsolid2011 Introdução PythonComsolid2011 Introdução Python
Comsolid2011 Introdução Python
 
Administração de sistemas usando Python
Administração de sistemas usando PythonAdministração de sistemas usando Python
Administração de sistemas usando Python
 
Introdução a linguagem Python
Introdução a linguagem PythonIntrodução a linguagem Python
Introdução a linguagem Python
 
Arduino e Python: Do It Yourself
Arduino e Python: Do It YourselfArduino e Python: Do It Yourself
Arduino e Python: Do It Yourself
 
Cherrypy - um framework para desenvolvimento rápido de aplicações web
Cherrypy - um framework para desenvolvimento rápido de aplicações webCherrypy - um framework para desenvolvimento rápido de aplicações web
Cherrypy - um framework para desenvolvimento rápido de aplicações web
 
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
 
Minicurso Python
Minicurso PythonMinicurso Python
Minicurso Python
 
Canivete suíço do Python
Canivete suíço do PythonCanivete suíço do Python
Canivete suíço do Python
 
Python Pythononcampus Uva 060609
Python Pythononcampus Uva 060609Python Pythononcampus Uva 060609
Python Pythononcampus Uva 060609
 
Python No Terra (2006-12-21)
Python No Terra  (2006-12-21)Python No Terra  (2006-12-21)
Python No Terra (2006-12-21)
 
Introducao ao python - Luciana Mota
Introducao ao python - Luciana MotaIntroducao ao python - Luciana Mota
Introducao ao python - Luciana Mota
 
Tutorial Python ed. #2
Tutorial Python ed. #2Tutorial Python ed. #2
Tutorial Python ed. #2
 
Linguagem Python
Linguagem PythonLinguagem Python
Linguagem Python
 
Python para desenvolvedores - material apoio (parte I)
Python para desenvolvedores - material apoio (parte I)Python para desenvolvedores - material apoio (parte I)
Python para desenvolvedores - material apoio (parte I)
 
Linguagem Python
Linguagem PythonLinguagem Python
Linguagem Python
 

Mais de Álvaro Justen

Mais de Álvaro Justen (20)

Sobre os ombos de gigantes
Sobre os ombos de gigantesSobre os ombos de gigantes
Sobre os ombos de gigantes
 
Projeto Brasil.IO COVID-19: Dados Públicos Acessíveis
Projeto Brasil.IO COVID-19: Dados Públicos AcessíveisProjeto Brasil.IO COVID-19: Dados Públicos Acessíveis
Projeto Brasil.IO COVID-19: Dados Públicos Acessíveis
 
Dados abertos, Python e PostgreSQL: a combinação perfeita
Dados abertos, Python e PostgreSQL: a combinação perfeitaDados abertos, Python e PostgreSQL: a combinação perfeita
Dados abertos, Python e PostgreSQL: a combinação perfeita
 
A era da pós-verdade - minhas reflexões e crenças
A era da pós-verdade - minhas reflexões e crençasA era da pós-verdade - minhas reflexões e crenças
A era da pós-verdade - minhas reflexões e crenças
 
Realmente precisamos de big data?
Realmente precisamos de big data?Realmente precisamos de big data?
Realmente precisamos de big data?
 
Ciência de Dados na Linha de Comando
Ciência de Dados na Linha de ComandoCiência de Dados na Linha de Comando
Ciência de Dados na Linha de Comando
 
Brasil.IO: Libertação de Dados Públicos, com Python
Brasil.IO: Libertação de Dados Públicos, com PythonBrasil.IO: Libertação de Dados Públicos, com Python
Brasil.IO: Libertação de Dados Públicos, com Python
 
#opendata #fail: Causos da Transparência Brasileira
#opendata #fail: Causos da Transparência Brasileira#opendata #fail: Causos da Transparência Brasileira
#opendata #fail: Causos da Transparência Brasileira
 
Brasil.IO: Dados Abertos para Mais Democracia
Brasil.IO: Dados Abertos para Mais DemocraciaBrasil.IO: Dados Abertos para Mais Democracia
Brasil.IO: Dados Abertos para Mais Democracia
 
Dados abertos, direito autoral e democracia
Dados abertos, direito autoral e democraciaDados abertos, direito autoral e democracia
Dados abertos, direito autoral e democracia
 
Jornalismo de Dados: Programando a Democracia no Brasil
Jornalismo de Dados: Programando a Democracia no BrasilJornalismo de Dados: Programando a Democracia no Brasil
Jornalismo de Dados: Programando a Democracia no Brasil
 
Python no Jornalismo
Python no JornalismoPython no Jornalismo
Python no Jornalismo
 
Introdução a programação com Python (para jornalistas)
Introdução a programação com Python (para jornalistas)Introdução a programação com Python (para jornalistas)
Introdução a programação com Python (para jornalistas)
 
[FISL17] Liberando dados com um comando, por Álvaro Justen
[FISL17] Liberando dados com um comando, por Álvaro Justen[FISL17] Liberando dados com um comando, por Álvaro Justen
[FISL17] Liberando dados com um comando, por Álvaro Justen
 
Arduino (para fazedores)
Arduino (para fazedores)Arduino (para fazedores)
Arduino (para fazedores)
 
Dados tabulares: A Maneira Pythônica
Dados tabulares: A Maneira PythônicaDados tabulares: A Maneira Pythônica
Dados tabulares: A Maneira Pythônica
 
[PyBr11] Lendo dados tabulares: versão pythônica
[PyBr11] Lendo dados tabulares: versão pythônica[PyBr11] Lendo dados tabulares: versão pythônica
[PyBr11] Lendo dados tabulares: versão pythônica
 
Arduino: Robótica e Automação com Software e Hardware Livres
Arduino: Robótica e Automação com Software e Hardware LivresArduino: Robótica e Automação com Software e Hardware Livres
Arduino: Robótica e Automação com Software e Hardware Livres
 
Capturando dados com Python - UAI Python
Capturando dados com Python - UAI PythonCapturando dados com Python - UAI Python
Capturando dados com Python - UAI Python
 
Introdução ao Arduino: ArduinoDay Rio 2015
Introdução ao Arduino: ArduinoDay Rio 2015Introdução ao Arduino: ArduinoDay Rio 2015
Introdução ao Arduino: ArduinoDay Rio 2015
 

Último

Último (9)

ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docxATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 

Python

  • 1. Roteiro  Afinal, o que é Python?  O interpretador  Sintaxe básica  Controle de fluxo  Estruturas de dados  Funções  Classes  Módulos e Standard Library Python: Introdução
  • 2. O que é Python?  Interpretada, VHLL  Criada por Guido van Rossum em 1989  Multiplataforma  OO, Procedural e funcional  Software livre  Baterias incluídas!  Sintaxe elegante, simples e clara  Tipagem dinãmica e forte Python: Introdução
  • 3. Onde é usada?  Empresas: – Google – NASA – SERPRO (...)  Software: – Trac – GIMP – Blender – GNOME (...) Python: Introdução
  • 4. Onde roda?  UNIX likes: – GNU/Linux (maioria vem por padrão) – Mac OS X (sempre por padrão)  Windows (tem que instalar)  Nokia Series 60  ... Python: Introdução
  • 5. Aplicações  Scripts  Computação gráfica  Web: – web2py :-) – Django – Zope – ...  Jogos  Programas em geral (GUI) Python: Introdução
  • 6. História Python: Introdução
  • 7. Características e Vantagens  Fácil de aprender  Poderosa  Alta produtividade  Estruturas de dados de alto nível: tuplas, listas, dicionários, ...  Linguagem dinâmica -> runtime!  Blocos de código são delimitados por endentação (!?) Python: Introdução
  • 8. Interpretador e Shell  Interpretador interativo: – "python" (shell) – "python arquivo.py" (interpretador)  IPython Python: Introdução
  • 9. Tipos de dados  Tipos básicos: – Inteiro: 42 – Ponto flutuante: 3.14 – Complexo (!): 1.5 + 5.3j – String: “””minha string”””  Estruturas de alto nível: – Tuplas: (1, “aaa”) – Listas: [1, 2.3, “abc”, [1, “b”]] – Dicionários: {'a': 1, 2: 'b', [1, 2]: [3, 4]} Python: Introdução
  • 10. Controle de Fluxo Nada de parênteses! Nada de chaves! if expressão: Comando1 ... elif expressão2: Comando3 ... else: ... Python: Introdução
  • 11. Controle de Fluxo (2) for i in iterable: Comando1 Comando2 ... while expressão2: Comando3 ... iterable → list, range(), dict, ... break, continue, pass, for ... else Python: Introdução
  • 12. Funções def nome(args): Comando1 ... [return X]  *args  **args  arg1=valor, arg2=valor, ...  lambda  docstrings Python: Introdução
  • 13. Módulos • arq.py • import arq • arq.X • arq.f() • f2 = arq.f • arq.__name__ • from arq import X, f • from arq import * Python: Introdução
  • 14. Arquivos  open('nome', 'formato') – formato = rw, r, ...  fp. – read() – readlines() – write() – writelines() – close()  for l in fp: print l Python: Introdução
  • 15. Classes class Nome: “””Essa é a minha classe... que não faz muita coisa””” self.atributo = valor def método(self, args...): cmd... Python: Introdução
  • 16. Classes (2)  __init__()  Overload of operators  Métodos fora das classes: def f1(self, a, ...): ... class teste: f = f1 def f2(self, b, ...): ...  Herança [múltipla] Python: Introdução
  • 17. Baterias incluídas  sys, os, re, string, zlib  socket, urrlib, httplib, imaplib  time, datetime, math, random  doctest, unittest, xml, xmlrpclib  struct, pickle, cPickle, threading  logging, decimal  ... Python: Introdução
  • 18. Outras Bibliotecas  NumPy  SciPy  MatplotLib  PyODE  Python-OpenGL  Twisted Matrix  ... Python: Introdução
  • 19. The Zen of Python >>> import this Python: Introdução
  • 20. www.python.org  PEPs  Python Library Reference  Python Manual Reference  PyPI  Implementações: – CPython – Jython – IronPython – PyPy Python: Introdução