SlideShare uma empresa Scribd logo
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

Descrição formal de Casos de Uso
Descrição formal de Casos de UsoDescrição formal de Casos de Uso
Descrição formal de Casos de Uso
Natanael Simões
 
Aplicações web parte 1
Aplicações web parte 1Aplicações web parte 1
Aplicações web parte 1
Elaine Cecília Gatto
 
Aula 06 - Sistema Binário
Aula 06 - Sistema BinárioAula 06 - Sistema Binário
Aula 06 - Sistema Binário
Suzana Viana Mota
 
Aula01 - Logica de Programação
Aula01 - Logica de ProgramaçãoAula01 - Logica de Programação
Aula01 - Logica de Programação
Jorge Ávila Miranda
 
Redes de Computadores - Aula 01
Redes de Computadores - Aula 01Redes de Computadores - Aula 01
Redes de Computadores - Aula 01
thomasdacosta
 
Visualg
VisualgVisualg
Visualg
Pedro Silva
 
Aula 04 - Medidas de Armazenamento
Aula 04 - Medidas de ArmazenamentoAula 04 - Medidas de Armazenamento
Aula 04 - Medidas de Armazenamento
Suzana Viana Mota
 
Lógica de programação em ppt
Lógica de programação em pptLógica de programação em ppt
Lógica de programação em ppt
Andrei Bastos
 
Sistemas Operacionais - Aula 07 (Thread e Processos)
Sistemas Operacionais - Aula 07 (Thread e Processos)Sistemas Operacionais - Aula 07 (Thread e Processos)
Sistemas Operacionais - Aula 07 (Thread e Processos)
Leinylson Fontinele
 
Aula 01 - Fundamentos de Banco de Dados (2).pdf
Aula 01 - Fundamentos de Banco de Dados (2).pdfAula 01 - Fundamentos de Banco de Dados (2).pdf
Aula 01 - Fundamentos de Banco de Dados (2).pdf
Marcelo Silva
 
Mer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoMer - Modelo Entidade Relacionamento
Mer - Modelo Entidade Relacionamento
Rademaker Siena
 
Conceitos Básicos Sobre Analise de Sistemas
Conceitos Básicos Sobre Analise de SistemasConceitos Básicos Sobre Analise de Sistemas
Conceitos Básicos Sobre Analise de Sistemas
Clayton de Almeida Souza
 
Java - Primeiros passos
Java - Primeiros passosJava - Primeiros passos
Java - Primeiros passos
Professor José de Assis
 
Ciclo desenvolvimento de sistemas
Ciclo desenvolvimento de sistemasCiclo desenvolvimento de sistemas
Ciclo desenvolvimento de sistemas
Instituto Federal de Educação Ciencia e Tecnologia
 
Introdução à Lógica de Programação
Introdução à Lógica de ProgramaçãoIntrodução à Lógica de Programação
Introdução à Lógica de Programação
André Agostinho
 
Aula 07 - Fontes
Aula 07 - FontesAula 07 - Fontes
Aula 07 - Fontes
Suzana Viana Mota
 
Aula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e ProgramaçãoAula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e Programação
Aislan Rafael
 
Aula 2 - Introdução a Banco de Dados
Aula 2 - Introdução a Banco de DadosAula 2 - Introdução a Banco de Dados
Aula 2 - Introdução a Banco de Dados
Vitor Hugo Melo Araújo
 
Lista de exercicios vetores, matrizes, registros e sub-algoritmos
Lista de exercicios   vetores, matrizes, registros e sub-algoritmosLista de exercicios   vetores, matrizes, registros e sub-algoritmos
Lista de exercicios vetores, matrizes, registros e sub-algoritmos
Mauro Pereira
 
Aula 04 PHP - Utilizando Funções e Manipulando Arquivos
Aula 04 PHP - Utilizando Funções e Manipulando ArquivosAula 04 PHP - Utilizando Funções e Manipulando Arquivos
Aula 04 PHP - Utilizando Funções e Manipulando Arquivos
Daniel Brandão
 

Mais procurados (20)

Descrição formal de Casos de Uso
Descrição formal de Casos de UsoDescrição formal de Casos de Uso
Descrição formal de Casos de Uso
 
Aplicações web parte 1
Aplicações web parte 1Aplicações web parte 1
Aplicações web parte 1
 
Aula 06 - Sistema Binário
Aula 06 - Sistema BinárioAula 06 - Sistema Binário
Aula 06 - Sistema Binário
 
Aula01 - Logica de Programação
Aula01 - Logica de ProgramaçãoAula01 - Logica de Programação
Aula01 - Logica de Programação
 
Redes de Computadores - Aula 01
Redes de Computadores - Aula 01Redes de Computadores - Aula 01
Redes de Computadores - Aula 01
 
Visualg
VisualgVisualg
Visualg
 
Aula 04 - Medidas de Armazenamento
Aula 04 - Medidas de ArmazenamentoAula 04 - Medidas de Armazenamento
Aula 04 - Medidas de Armazenamento
 
Lógica de programação em ppt
Lógica de programação em pptLógica de programação em ppt
Lógica de programação em ppt
 
Sistemas Operacionais - Aula 07 (Thread e Processos)
Sistemas Operacionais - Aula 07 (Thread e Processos)Sistemas Operacionais - Aula 07 (Thread e Processos)
Sistemas Operacionais - Aula 07 (Thread e Processos)
 
Aula 01 - Fundamentos de Banco de Dados (2).pdf
Aula 01 - Fundamentos de Banco de Dados (2).pdfAula 01 - Fundamentos de Banco de Dados (2).pdf
Aula 01 - Fundamentos de Banco de Dados (2).pdf
 
Mer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoMer - Modelo Entidade Relacionamento
Mer - Modelo Entidade Relacionamento
 
Conceitos Básicos Sobre Analise de Sistemas
Conceitos Básicos Sobre Analise de SistemasConceitos Básicos Sobre Analise de Sistemas
Conceitos Básicos Sobre Analise de Sistemas
 
Java - Primeiros passos
Java - Primeiros passosJava - Primeiros passos
Java - Primeiros passos
 
Ciclo desenvolvimento de sistemas
Ciclo desenvolvimento de sistemasCiclo desenvolvimento de sistemas
Ciclo desenvolvimento de sistemas
 
Introdução à Lógica de Programação
Introdução à Lógica de ProgramaçãoIntrodução à Lógica de Programação
Introdução à Lógica de Programação
 
Aula 07 - Fontes
Aula 07 - FontesAula 07 - Fontes
Aula 07 - Fontes
 
Aula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e ProgramaçãoAula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e Programação
 
Aula 2 - Introdução a Banco de Dados
Aula 2 - Introdução a Banco de DadosAula 2 - Introdução a Banco de Dados
Aula 2 - Introdução a Banco de Dados
 
Lista de exercicios vetores, matrizes, registros e sub-algoritmos
Lista de exercicios   vetores, matrizes, registros e sub-algoritmosLista de exercicios   vetores, matrizes, registros e sub-algoritmos
Lista de exercicios vetores, matrizes, registros e sub-algoritmos
 
Aula 04 PHP - Utilizando Funções e Manipulando Arquivos
Aula 04 PHP - Utilizando Funções e Manipulando ArquivosAula 04 PHP - Utilizando Funções e Manipulando Arquivos
Aula 04 PHP - Utilizando Funções e Manipulando Arquivos
 

Destaque

[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
Álvaro Justen
 
Software Livre versus Open Source
Software Livre versus Open SourceSoftware Livre versus Open Source
Software Livre versus Open Source
Álvaro Justen
 
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
Álvaro Justen
 
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
Álvaro Justen
 
Datos Tabulares: La Manera Pythónica
Datos Tabulares: La Manera PythónicaDatos Tabulares: La Manera Pythónica
Datos Tabulares: La Manera Pythónica
Álvaro Justen
 
Apresentação da ArcelorMittal
Apresentação da ArcelorMittalApresentação da ArcelorMittal
Apresentação da ArcelorMittal
Vereador Serjão
 
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
Álvaro Justen
 
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
Colégio Lacordaire Sant'Anna
 
Aprenda a Programar Direito!
Aprenda a Programar Direito!Aprenda a Programar Direito!
Aprenda a Programar Direito!
Álvaro Justen
 

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

Aula python
Aula pythonAula 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
Alvaro Oliveira
 
Introdução à Programação em Python
Introdução à Programação em PythonIntrodução à Programação em Python
Introdução à Programação em Python
Rodrigo Hübner
 
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
Helio Colombe
 
Linguagem de Programação Python
Linguagem de Programação PythonLinguagem de Programação Python
Linguagem de Programação Python
Junior Sobrenome
 
Comsolid2011 Introdução Python
Comsolid2011 Introdução PythonComsolid2011 Introdução Python
Comsolid2011 Introdução Python
Gleison Rodrigues
 
Administração de sistemas usando Python
Administração de sistemas usando PythonAdministração de sistemas usando Python
Administração de sistemas usando Python
Helio Loureiro
 
Introdução a linguagem Python
Introdução a linguagem PythonIntrodução a linguagem Python
Introdução a linguagem Python
Luciano Ramalho
 
Arduino e Python: Do It Yourself
Arduino e Python: Do It YourselfArduino e Python: Do It Yourself
Arduino e Python: Do It Yourself
Bruno Nascimento
 
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
Alvaro Oliveira
 
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
 
Minicurso Python
Minicurso PythonMinicurso Python
Minicurso Python
rodrigopex
 
Canivete suíço do Python
Canivete suíço do PythonCanivete suíço do Python
Canivete suíço do Python
Douglas Soares de Andrade
 
Python Pythononcampus Uva 060609
Python Pythononcampus Uva 060609Python Pythononcampus Uva 060609
Python Pythononcampus Uva 060609
gsroma
 
Python No Terra (2006-12-21)
Python No Terra  (2006-12-21)Python No Terra  (2006-12-21)
Python No Terra (2006-12-21)
Rudá Moura
 
Introducao ao python - Luciana Mota
Introducao ao python - Luciana MotaIntroducao ao python - Luciana Mota
Introducao ao python - Luciana Mota
lucianacmota
 
Tutorial Python ed. #2
Tutorial Python ed. #2Tutorial Python ed. #2
Tutorial Python ed. #2
Fabio Spanhol
 
Linguagem Python
Linguagem PythonLinguagem Python
Linguagem Python
Natã Melo
 
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)
Marcelo Barros de Almeida
 
Linguagem Python
Linguagem PythonLinguagem Python
Linguagem Python
Alexandre Machado
 

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

Sobre os ombos de gigantes
Sobre os ombos de gigantesSobre os ombos de gigantes
Sobre os ombos de gigantes
Álvaro Justen
 
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
Álvaro Justen
 
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
Álvaro Justen
 
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
Álvaro Justen
 
Realmente precisamos de big data?
Realmente precisamos de big data?Realmente precisamos de big data?
Realmente precisamos de big data?
Álvaro Justen
 
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
Álvaro Justen
 
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
Álvaro Justen
 
#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
Álvaro Justen
 
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
Álvaro Justen
 
Dados abertos, direito autoral e democracia
Dados abertos, direito autoral e democraciaDados abertos, direito autoral e democracia
Dados abertos, direito autoral e democracia
Álvaro Justen
 
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
Álvaro Justen
 
Python no Jornalismo
Python no JornalismoPython no Jornalismo
Python no Jornalismo
Álvaro Justen
 
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)
Á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
[FISL17] Liberando dados com um comando, por Álvaro Justen
Álvaro Justen
 
Arduino (para fazedores)
Arduino (para fazedores)Arduino (para fazedores)
Arduino (para fazedores)
Álvaro Justen
 
Dados tabulares: A Maneira Pythônica
Dados tabulares: A Maneira PythônicaDados tabulares: A Maneira Pythônica
Dados tabulares: A Maneira Pythônica
Álvaro Justen
 
[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
Álvaro Justen
 
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
Álvaro Justen
 
Capturando dados com Python - UAI Python
Capturando dados com Python - UAI PythonCapturando dados com Python - UAI Python
Capturando dados com Python - UAI Python
Álvaro Justen
 
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
Á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

DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdfDESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
Momento da Informática
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
Momento da Informática
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
joaovmp3
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
Momento da Informática
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
Danilo Pinotti
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
Faga1939
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
WELITONNOGUEIRA3
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
TomasSousa7
 

Último (8)

DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdfDESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
 

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