Python para devs
Upcoming SlideShare
Loading in...5
×
 

Python para devs

on

  • 1,284 views

Palestra feita no 3º encontro do DevInSantos. Fiz uma introdução da linguagem Python para quem já desenvolve em outras linguagens.

Palestra feita no 3º encontro do DevInSantos. Fiz uma introdução da linguagem Python para quem já desenvolve em outras linguagens.

Statistics

Views

Total Views
1,284
Views on SlideShare
1,152
Embed Views
132

Actions

Likes
1
Downloads
10
Comments
1

5 Embeds 132

http://www.udgwebdev.com 76
http://feeds.feedburner.com 42
http://localhost 9
https://twitter.com 4
https://si0.twimg.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Python para devs Python para devs Presentation Transcript

  • Python para Devs Evaldo Junior (1.0 beta) 05/05/2012
  • Licenciamento desta apresentação Creative Commons BY-NC-SA Compartilhe - Mantenha a licença - Não comercial
  • Evaldo Junior - InFog• Processamento de dados - Fatec• MBA Gestão Estratégica de TI - Unimonte• Professor universitário - Unimonte• Empreendedor - CaSoft• GNU/Linux - 7 anos• Desenvolvedor - 5 anos
  • Python
  • Python• Pronuncia-se "Paiton"• Não é "pitón"• Não é "faiton"• Sem ligação com cobras!• Monty Python!
  • Por que Python?
  • Qualidade deSoftware
  • Qualidade deSoftware Produtividade
  • Qualidade deSoftware ProdutividadePortabilidade
  • Qualidade deSoftware ProdutividadePortabilidade Inúmeras bibliotecas
  • Qualidade deSoftware ProdutividadePortabilidade Inúmeras bibliotecas Integração com outras linguagens
  • Qualidade deSoftware ProdutividadePortabilidade Inúmeras bibliotecas Integração com outras linguagens Livre!
  • Qualidade deSoftware ProdutividadePortabilidade Inúmeras bibliotecas Integração com outras linguagens Diversão! Livre!
  • Um pouco de história...• Guido van Rossum• 1989 - 1991• Foco em produtividade• 1994 - Funcional o lambda• 2.0 - list compreension o haskell• 3.0 - grandes mudanças
  • A linguagem Python Poderosa!
  • A linguagem PythonMultiparadigma Poderosa!
  • A linguagem PythonMultiparadigma Multifuncional Poderosa!
  • A linguagem PythonMultiparadigma Multifuncional Poderosa! Multiplataforma
  • A linguagem PythonMultiparadigma Multifuncional Poderosa! Fácil de aprender Multiplataforma
  • A linguagem PythonMultiparadigma Multifuncional Poderosa... e Multiplataforma rápida! Fácil de aprender
  • A linguagem Python• Poderosa... E rápida! Baterias incluídas
  • A linguagem Python• Poderosa... E rápida! WEB Baterias incluídas
  • A linguagem Python• Poderosa... E rápida! Desktop WEB Baterias incluídas
  • A linguagem Python• Poderosa... E rápida! Database Desktop WEB Baterias incluídas
  • A linguagem Python• Poderosa... E rápida! Database Desktop WEB Baterias incluídas Científica
  • A linguagem Python• Poderosa... E rápida! Database Desktop WEB Baterias incluídas Científica Network
  • A linguagem Python• Poderosa... E rápida! Database Desktop WEB Baterias incluídas Científica Games Network
  • A linguagem Python• Poderosa... E rápida!• Baterias incluídas Meta classes, decorators Duck typing
  • Talking is cheap, show me the code!
  • Duck Typing
  • Blocos sãoi[n]dentados!
  • A linguagem Python• Poderosa... E rápida!• Baterias incluídas• Meta classes, decorators, Duck typing Escreva rápido!
  • Feed RSS
  • Resultado
  • A linguagem Python• Poderosa... E rápida!• Baterias incluídas• Meta classes, decorators, Duck typing• Escreva rápido! Interpretador interativo!
  • Interpretador interativo
  • Tipagem dinâmica, não fraca!• Não existe declaração de tipos Mas os tipos existem!
  • exemplo...2+2=42 + 2 = 222 + 2 = TypeError
  • Tipagem dinâmica, não fraca!• Não existe declaração de tipos• Sem conversão automática de tipos4 * spamspamspamspamspam
  • Ótimo tratamento de erros
  • Parâmetros nomeados
  • Decorators• Especifica uma maneira de gerir funções e classes• Organização• Centralização
  • Decorators
  • Decorators
  • Decorators - Django
  • Namespaces• Baseados em arquivos ou módulos• Use apenas se necessário• Ótima forma de organização e modularização
  • Namespacesfun1 fun2
  • OOP
  • Herança multipla OOP
  • Classes abstratasHerança multipla OOP
  • Classes abstratasHerança multipla Sem sobrecarga de métodos OOP
  • Classes abstratasHerança multipla Sem sobrecarga de métodos OOP Não existem tipos primitivos
  • Classes abstratasHerança multipla Sem sobrecarga de métodos OOP Não existem tipos primitivos TUDO é objeto
  • OOP!5.45.__int__()5 (parte inteira do número)
  • OOP: self• Todos os métodos, de quaisquer métodos, recebem o self• self é uma referência do objeto instanciado.• self é sempre o primeiro parâmetro, e é automático.
  • OOP: self
  • Convenções para OOP• Todos herdam de "object"• Contrutores se chamam __new__ o Nunca vi um construtor...• Inicializadores de chamam __init__ o Esses sim, tem aos montes por aí o Na verdade o __init__ é o que as outras linguagens usam como "construtor"• __init__ recebe uma instância pronta, para incializar os atributos.• __new__ é usada raramente, mais para metaprogramação.
  • Visibilidades• Não existe operador de visibilidade!• Nada de public• Nada de protected• Nada de private
  • Visibilidades, como faz?• public = sem prefixos• protected = prefixo "_"• private = prefixo "__" o two underlines o two under o thunder
  • Visibilidades, funciona?Um grande acordo entre cavalheiros.Coisas ruins acontecem comquem não respeita o padrão.
  • O que fazer com tudo isso?
  • Quem usa Python?Mais de um milhão de desenvolvedores!
  • Mais informações• http://python.org• http://python.org.br• http://python.org/doc• Learning Python - Mark Lutz• Python para Desenvolvedores o Luiz Eduardo Borges
  • Dúvidas?