SlideShare a Scribd company logo
1 of 21
Download to read 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

More Related Content

What's hot

What's hot (20)

Governança de TI - Aula02 - Conceitos em Governanca corporativa
Governança de TI - Aula02 - Conceitos em Governanca corporativaGovernança de TI - Aula02 - Conceitos em Governanca corporativa
Governança de TI - Aula02 - Conceitos em Governanca corporativa
 
Aula01 - Logica de Programação
Aula01 - Logica de ProgramaçãoAula01 - Logica de Programação
Aula01 - Logica de Programação
 
Manutenção e montagem de computadores
Manutenção e montagem de computadoresManutenção e montagem de computadores
Manutenção e montagem de computadores
 
Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }
 
PETI - Planejamento Estratégico de Tecnologia da Informação
PETI - Planejamento Estratégico de Tecnologia da InformaçãoPETI - Planejamento Estratégico de Tecnologia da Informação
PETI - Planejamento Estratégico de Tecnologia da Informação
 
Tecnico em informatica
Tecnico em informaticaTecnico em informatica
Tecnico em informatica
 
Introdução à Programação
Introdução à ProgramaçãoIntrodução à Programação
Introdução à Programação
 
Governança de TI.pptx
Governança de TI.pptxGovernança de TI.pptx
Governança de TI.pptx
 
Sistema binario
Sistema binarioSistema binario
Sistema binario
 
Redes de Computadores - Aula 02
Redes de Computadores - Aula 02Redes de Computadores - Aula 02
Redes de Computadores - Aula 02
 
Pensamento Computacional aula 01
Pensamento Computacional aula 01Pensamento Computacional aula 01
Pensamento Computacional aula 01
 
A Internet das Coisas
A Internet das CoisasA Internet das Coisas
A Internet das Coisas
 
Alguns algoritmos resolvidos
Alguns algoritmos resolvidosAlguns algoritmos resolvidos
Alguns algoritmos resolvidos
 
As Áreas de Atuação do Profissional de TI
As Áreas de Atuação do Profissional de TIAs Áreas de Atuação do Profissional de TI
As Áreas de Atuação do Profissional de TI
 
Programando com Python
Programando com PythonProgramando com Python
Programando com Python
 
Introdução à Informática
Introdução à InformáticaIntrodução à Informática
Introdução à Informática
 
Aula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e ProgramaçãoAula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e Programação
 
Apresentação do ERP
Apresentação do ERPApresentação do ERP
Apresentação do ERP
 
Aula 06 - Sistema Binário
Aula 06 - Sistema BinárioAula 06 - Sistema Binário
Aula 06 - Sistema Binário
 
Sistemas Operacionais - Aula 01 (Conceitos básicos de so)
Sistemas Operacionais - Aula 01 (Conceitos básicos de so)Sistemas Operacionais - Aula 01 (Conceitos básicos de so)
Sistemas Operacionais - Aula 01 (Conceitos básicos de so)
 

Viewers also liked

Viewers also liked (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!
 

Similar to 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
 

Similar to 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
 

More from Álvaro Justen

More from Á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
 

Recently uploaded

Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
Natalia Granato
 

Recently uploaded (6)

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 - 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
 
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
 
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
 
Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
 

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