SlideShare ist ein Scribd-Unternehmen logo
1 von 13
Downloaden Sie, um offline zu lesen
Seja dinâmico com Python

        Rodrigo Strauss
        Rodrigo Strauss
    http://www.1bit.com.br
Eu, eu e eu
                Eu eu e eu
• Mantenho o site www.1bit.com.br, onde escrevo 
          h      i         1bi     b     d
  sobre C++, Python e programação em geral
• Grupo C e C++ Brasil
• Server side is my side
                   y
• Uso C++ e Python porque são as linguagens que 
  melhor resolvem meus problemas
  melhor resolvem meus problemas
• Já programei em BASIC, VB3/VB4/VB5/VB6, ASP 
  (VBScript), Clipper, C#, e Assembly x86
  (VBScript) Clipper C# e Assembly x86
• Já estudei Erlang, Haskell, LISP
Python
• Linguagem dinâmica criada por Guido Von 
  Rossum
  – Hoje funcionário do Google
• Versão 2 6 e versão 3 0 (antiga 3000)
         2.6 e versão 3.0 (antiga 3000)
• Linguagem dinâmica como filosofia de 
  “batteries included”
Dinâmicas
•   O que é uma linguagem dinâmica
          é     l         d â
    – As variáveis tem tipo mas seus tipos são dinâmicos
    – Algo como o Variant do VB
        g
    – DuckType
        • Não necessita de interface
•   Vantagens
    – Produtividade muito mais alta
        • Menos verbose, não precisa de casts e conversões
        • Ciclo corrige‐compila‐debug perde a parte do compila
    – baixa “burocracia” devido ao duck typing
•   Desvantagens
            g
    – Performance
    – Erros acontecem em runtime
Recursos Básicos do Python
         Básicos do Python
Tipos de dados
                      de dados
•   String / unicode (Python 2.x)
•   Int/Long
•   Tuple
•   List
•   Dictionary
Tuple, List & Dictionary, a base de tudo
Tuple List & Dictionary a base de tudo
• Slicing
• Conversão
• Generator Expression
Classes
• Criando classes
• Definindo métodos e propriedades
            métodos e propriedades
• Métodos especiais
  – __init__ e __del__
  – Operadores matemáticos
     p
  – __call__
Lendo metadados e estado
       Lendo metadados e estado
•   dir()
•   __dir__
       dir
•   locals()
•   globals()
Mágicas
– Redefinindo métodos e propriedades
– Chamando construtores
– __new__  para pool de objetos
– __del__ para ressucitar obejtos
    del para ressucitar obejtos
Coisas interessantes
          Coisas interessantes
• Acessando .ini e xml de forma mais fácil
• ORM
  – Do banco para um objeto
  – D objeto para o banco
    Do bj           b
Mais coisas interessantes
      Mais coisas interessantes
• __all__
• __import__
    import
Recados

Weitere ähnliche Inhalte

Andere mochten auch

Andere mochten auch (6)

Campus Party2010
Campus Party2010Campus Party2010
Campus Party2010
 
Controle de servomotores para o avatar robótico
Controle de servomotores para o avatar robóticoControle de servomotores para o avatar robótico
Controle de servomotores para o avatar robótico
 
Palestra
PalestraPalestra
Palestra
 
Seguranca De Redes
Seguranca De RedesSeguranca De Redes
Seguranca De Redes
 
Campusparty2011dl
Campusparty2011dlCampusparty2011dl
Campusparty2011dl
 
Momento telefônica steve crocker
Momento telefônica   steve crockerMomento telefônica   steve crocker
Momento telefônica steve crocker
 

Ähnlich wie Seja DinâMico Com Python

Python - Programando em alto nível
Python - Programando em alto nívelPython - Programando em alto nível
Python - Programando em alto nívelIgor Sobreira
 
Minicurso Python - Apresentado no JOLIM 2012
Minicurso Python - Apresentado no JOLIM 2012Minicurso Python - Apresentado no JOLIM 2012
Minicurso Python - Apresentado no JOLIM 2012Nathan Hartmann
 
Bdd rails 3
Bdd rails 3Bdd rails 3
Bdd rails 3tchandy
 
Introdução a linguagem Python
Introdução a linguagem PythonIntrodução a linguagem Python
Introdução a linguagem PythonLuciano Ramalho
 
Palestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVAPalestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVAThiago Cifani
 
Desenvolvimento de aplicações embarcadas utilizando Python
Desenvolvimento de aplicações embarcadas utilizando PythonDesenvolvimento de aplicações embarcadas utilizando Python
Desenvolvimento de aplicações embarcadas utilizando PythonFlávio Ribeiro
 
Programacao de macros_com_libre_office_basic_slideshare
Programacao de macros_com_libre_office_basic_slideshareProgramacao de macros_com_libre_office_basic_slideshare
Programacao de macros_com_libre_office_basic_slideshareMarcio Junior Vieira
 
Programação de Macros com LibreOffice Basic
Programação de Macros com LibreOffice BasicProgramação de Macros com LibreOffice Basic
Programação de Macros com LibreOffice BasicMarcio Junior Vieira
 
Programação de Macros com LibreOffice Basic
Programação de Macros com LibreOffice BasicProgramação de Macros com LibreOffice Basic
Programação de Macros com LibreOffice BasicAmbiente Livre
 
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 alvesGrupython Ufla
 
Entendendo a linkedição em C++
Entendendo a linkedição em C++Entendendo a linkedição em C++
Entendendo a linkedição em C++Rodrigo Strauss
 
C++ introducao
C++ introducaoC++ introducao
C++ introducaoSedu
 
Processo de Desenvolvimento de Software - Linguagens Imperativas x Declarativas
Processo de Desenvolvimento de Software - Linguagens Imperativas x DeclarativasProcesso de Desenvolvimento de Software - Linguagens Imperativas x Declarativas
Processo de Desenvolvimento de Software - Linguagens Imperativas x DeclarativasNatanael Simões
 
Três anos de Scala no NewsMonitor
Três anos de Scala no NewsMonitorTrês anos de Scala no NewsMonitor
Três anos de Scala no NewsMonitorFelipe Hummel
 
Extreme Experience 2018 | Python para quem sabe Delphi
Extreme Experience 2018 | Python para quem sabe DelphiExtreme Experience 2018 | Python para quem sabe Delphi
Extreme Experience 2018 | Python para quem sabe DelphiMario Guedes
 
Linguagem de Programação Python
Linguagem de Programação PythonLinguagem de Programação Python
Linguagem de Programação PythonJunior Sobrenome
 
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êsHelio Colombe
 

Ähnlich wie Seja DinâMico Com Python (20)

Python - Programando em alto nível
Python - Programando em alto nívelPython - Programando em alto nível
Python - Programando em alto nível
 
Python para devs
Python para devsPython para devs
Python para devs
 
Minicurso Python - Apresentado no JOLIM 2012
Minicurso Python - Apresentado no JOLIM 2012Minicurso Python - Apresentado no JOLIM 2012
Minicurso Python - Apresentado no JOLIM 2012
 
Bdd rails 3
Bdd rails 3Bdd rails 3
Bdd rails 3
 
Introdução a linguagem Python
Introdução a linguagem PythonIntrodução a linguagem Python
Introdução a linguagem Python
 
Palestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVAPalestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVA
 
Desenvolvimento de aplicações embarcadas utilizando Python
Desenvolvimento de aplicações embarcadas utilizando PythonDesenvolvimento de aplicações embarcadas utilizando Python
Desenvolvimento de aplicações embarcadas utilizando Python
 
Programacao de macros_com_libre_office_basic_slideshare
Programacao de macros_com_libre_office_basic_slideshareProgramacao de macros_com_libre_office_basic_slideshare
Programacao de macros_com_libre_office_basic_slideshare
 
Programação de Macros com LibreOffice Basic
Programação de Macros com LibreOffice BasicProgramação de Macros com LibreOffice Basic
Programação de Macros com LibreOffice Basic
 
Programação de Macros com LibreOffice Basic
Programação de Macros com LibreOffice BasicProgramação de Macros com LibreOffice Basic
Programação de Macros com LibreOffice Basic
 
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
 
Entendendo a linkedição em C++
Entendendo a linkedição em C++Entendendo a linkedição em C++
Entendendo a linkedição em C++
 
C++ introducao
C++ introducaoC++ introducao
C++ introducao
 
Processo de Desenvolvimento de Software - Linguagens Imperativas x Declarativas
Processo de Desenvolvimento de Software - Linguagens Imperativas x DeclarativasProcesso de Desenvolvimento de Software - Linguagens Imperativas x Declarativas
Processo de Desenvolvimento de Software - Linguagens Imperativas x Declarativas
 
Três anos de Scala no NewsMonitor
Três anos de Scala no NewsMonitorTrês anos de Scala no NewsMonitor
Três anos de Scala no NewsMonitor
 
Extreme Experience 2018 | Python para quem sabe Delphi
Extreme Experience 2018 | Python para quem sabe DelphiExtreme Experience 2018 | Python para quem sabe Delphi
Extreme Experience 2018 | Python para quem sabe Delphi
 
Linguagem de Programação Python
Linguagem de Programação PythonLinguagem de Programação Python
Linguagem de Programação 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
 
Clean Coder
Clean CoderClean Coder
Clean Coder
 
O Estado do Python
O Estado do PythonO Estado do Python
O Estado do Python
 

Mehr von Campus Party Brasil

Desenvolvimento de aplicações para o Google App Engine
Desenvolvimento de aplicações para o Google App EngineDesenvolvimento de aplicações para o Google App Engine
Desenvolvimento de aplicações para o Google App EngineCampus Party Brasil
 
Técnicas forenses para a recuperação de arquivos
Técnicas forenses para a recuperação de arquivosTécnicas forenses para a recuperação de arquivos
Técnicas forenses para a recuperação de arquivosCampus Party Brasil
 
Como ganhar dinheiro no mundo mobile?
Como ganhar dinheiro no mundo mobile?Como ganhar dinheiro no mundo mobile?
Como ganhar dinheiro no mundo mobile?Campus Party Brasil
 
Tempestades solares: mitos e verdades
Tempestades solares: mitos e verdadesTempestades solares: mitos e verdades
Tempestades solares: mitos e verdadesCampus Party Brasil
 
A busca por planetas além do sistema solar
A busca por planetas além do sistema solarA busca por planetas além do sistema solar
A busca por planetas além do sistema solarCampus Party Brasil
 
Construção de uma luneta a baixo custo
Construção de uma luneta a baixo custoConstrução de uma luneta a baixo custo
Construção de uma luneta a baixo custoCampus Party Brasil
 
Hardware livre Arduino: eletrônica e robótica com hardware e software livres
Hardware livre Arduino: eletrônica e robótica com hardware e software livresHardware livre Arduino: eletrônica e robótica com hardware e software livres
Hardware livre Arduino: eletrônica e robótica com hardware e software livresCampus Party Brasil
 
Robótica e educação inclusiva
Robótica e educação inclusivaRobótica e educação inclusiva
Robótica e educação inclusivaCampus Party Brasil
 
Fazendo do jeito certo: criando jogos sofisticados com DirectX
Fazendo do jeito certo: criando jogos sofisticados com DirectXFazendo do jeito certo: criando jogos sofisticados com DirectX
Fazendo do jeito certo: criando jogos sofisticados com DirectXCampus Party Brasil
 
Robótica e educação inclusiva
	Robótica e educação inclusiva	Robótica e educação inclusiva
Robótica e educação inclusivaCampus Party Brasil
 
Gestão e monitoramento de redes e dispositivos com Software Livre
Gestão e monitoramento de redes e dispositivos com Software LivreGestão e monitoramento de redes e dispositivos com Software Livre
Gestão e monitoramento de redes e dispositivos com Software LivreCampus Party Brasil
 
Confecção de Circuito Impresso
Confecção de Circuito ImpressoConfecção de Circuito Impresso
Confecção de Circuito ImpressoCampus Party Brasil
 
Virtualização, cloud computig e suas tendencias
Virtualização, cloud computig e suas tendenciasVirtualização, cloud computig e suas tendencias
Virtualização, cloud computig e suas tendenciasCampus Party Brasil
 

Mehr von Campus Party Brasil (20)

Wordpress
WordpressWordpress
Wordpress
 
Buracos negros
Buracos negrosBuracos negros
Buracos negros
 
Programação para Atari 2600
Programação para Atari 2600Programação para Atari 2600
Programação para Atari 2600
 
Desenvolvimento de aplicações para o Google App Engine
Desenvolvimento de aplicações para o Google App EngineDesenvolvimento de aplicações para o Google App Engine
Desenvolvimento de aplicações para o Google App Engine
 
Técnicas forenses para a recuperação de arquivos
Técnicas forenses para a recuperação de arquivosTécnicas forenses para a recuperação de arquivos
Técnicas forenses para a recuperação de arquivos
 
Como ganhar dinheiro no mundo mobile?
Como ganhar dinheiro no mundo mobile?Como ganhar dinheiro no mundo mobile?
Como ganhar dinheiro no mundo mobile?
 
Tempestades solares: mitos e verdades
Tempestades solares: mitos e verdadesTempestades solares: mitos e verdades
Tempestades solares: mitos e verdades
 
A busca por planetas além do sistema solar
A busca por planetas além do sistema solarA busca por planetas além do sistema solar
A busca por planetas além do sistema solar
 
Passeio virtual pelo LHC
Passeio virtual pelo LHCPasseio virtual pelo LHC
Passeio virtual pelo LHC
 
Construção de uma luneta a baixo custo
Construção de uma luneta a baixo custoConstrução de uma luneta a baixo custo
Construção de uma luneta a baixo custo
 
Hardware livre Arduino: eletrônica e robótica com hardware e software livres
Hardware livre Arduino: eletrônica e robótica com hardware e software livresHardware livre Arduino: eletrônica e robótica com hardware e software livres
Hardware livre Arduino: eletrônica e robótica com hardware e software livres
 
Robótica e educação inclusiva
Robótica e educação inclusivaRobótica e educação inclusiva
Robótica e educação inclusiva
 
Fazendo do jeito certo: criando jogos sofisticados com DirectX
Fazendo do jeito certo: criando jogos sofisticados com DirectXFazendo do jeito certo: criando jogos sofisticados com DirectX
Fazendo do jeito certo: criando jogos sofisticados com DirectX
 
Blue Via
Blue ViaBlue Via
Blue Via
 
Linux para iniciantes
Linux para iniciantesLinux para iniciantes
Linux para iniciantes
 
Robótica e educação inclusiva
	Robótica e educação inclusiva	Robótica e educação inclusiva
Robótica e educação inclusiva
 
Gestão e monitoramento de redes e dispositivos com Software Livre
Gestão e monitoramento de redes e dispositivos com Software LivreGestão e monitoramento de redes e dispositivos com Software Livre
Gestão e monitoramento de redes e dispositivos com Software Livre
 
Confecção de Circuito Impresso
Confecção de Circuito ImpressoConfecção de Circuito Impresso
Confecção de Circuito Impresso
 
Vida de Programador
Vida de Programador Vida de Programador
Vida de Programador
 
Virtualização, cloud computig e suas tendencias
Virtualização, cloud computig e suas tendenciasVirtualização, cloud computig e suas tendencias
Virtualização, cloud computig e suas tendencias
 

Seja DinâMico Com Python

  • 1. Seja dinâmico com Python Rodrigo Strauss Rodrigo Strauss http://www.1bit.com.br
  • 2. Eu, eu e eu Eu eu e eu • Mantenho o site www.1bit.com.br, onde escrevo  h i 1bi b d sobre C++, Python e programação em geral • Grupo C e C++ Brasil • Server side is my side y • Uso C++ e Python porque são as linguagens que  melhor resolvem meus problemas melhor resolvem meus problemas • Já programei em BASIC, VB3/VB4/VB5/VB6, ASP  (VBScript), Clipper, C#, e Assembly x86 (VBScript) Clipper C# e Assembly x86 • Já estudei Erlang, Haskell, LISP
  • 3. Python • Linguagem dinâmica criada por Guido Von  Rossum – Hoje funcionário do Google • Versão 2 6 e versão 3 0 (antiga 3000) 2.6 e versão 3.0 (antiga 3000) • Linguagem dinâmica como filosofia de  “batteries included”
  • 4. Dinâmicas • O que é uma linguagem dinâmica é l d â – As variáveis tem tipo mas seus tipos são dinâmicos – Algo como o Variant do VB g – DuckType • Não necessita de interface • Vantagens – Produtividade muito mais alta • Menos verbose, não precisa de casts e conversões • Ciclo corrige‐compila‐debug perde a parte do compila – baixa “burocracia” devido ao duck typing • Desvantagens g – Performance – Erros acontecem em runtime
  • 5. Recursos Básicos do Python Básicos do Python
  • 6. Tipos de dados de dados • String / unicode (Python 2.x) • Int/Long • Tuple • List • Dictionary
  • 7. Tuple, List & Dictionary, a base de tudo Tuple List & Dictionary a base de tudo • Slicing • Conversão • Generator Expression
  • 8. Classes • Criando classes • Definindo métodos e propriedades métodos e propriedades • Métodos especiais – __init__ e __del__ – Operadores matemáticos p – __call__
  • 9. Lendo metadados e estado Lendo metadados e estado • dir() • __dir__ dir • locals() • globals()
  • 10. Mágicas – Redefinindo métodos e propriedades – Chamando construtores – __new__  para pool de objetos – __del__ para ressucitar obejtos del para ressucitar obejtos
  • 11. Coisas interessantes Coisas interessantes • Acessando .ini e xml de forma mais fácil • ORM – Do banco para um objeto – D objeto para o banco Do bj b
  • 12. Mais coisas interessantes Mais coisas interessantes • __all__ • __import__ import