SlideShare une entreprise Scribd logo
1  sur  65
Logo do London Python Dojo
Roteiro
O Uma brevíssima história do Python
O Sintaxe
O Tipos, operadores e estruturas de controle
O Funções
O Classes
O Testes
O Dojo
Uma brevíssima história do Python
O Guido Van Rossum
O 1989 – um hobby
O Objetivos:
O Fácil e intuitiva
O Open source
O Legível
O Google
O Dropbox
O Monty Python Show
O que é Python?
O Multi-propósito (Web, GUI, Scripting, etc.)
O Orientada a objetos
O Interpretada (ou algo próximo disso)
O Linguagem dinâmica e fortemente tipada
O Foco em legibilidade e produtividade
Principais características
O Baterias incluídas
O Tudo é objeto
O Shell interativo
O Multi-plataforma
Quem usa?
O Nasa – lançamento de foguetes
O Serpro - confecção rápida de portais Web
O Embratel – monitoramento do backbone
Releases
O 1.0 – 1994
O 2.0 – 2000
O 3.0 – 2008
O Versão mais usada: 2.7
Sintaxe
Sintaxe
INDENTAÇÃO É LEVADA A SÉRIO
Indentação
Você está fazendo isso errado!
Indentação
Você está fazendo isso errado!
Indentação
Você está fazendo isso MUITO errado!
Indentação
Agora ficou melhor, não?
Indentação
#soQueNao
Comentários
Tipos
Strings
Números
Null
Listas
Listas
Dictionaries
Dictionary Methods
Boleanos
Operadores
Aritméticos
Aritméticos
Lógicos
Estruturas de
controle
Condicionais
Funções
Funções
Argumentos
For
While
Imports
O Re-uso
O Namespaces
Imports
Classes
Declaração
Atributos
O Atributos de classe são imutáveis
Métodos
Instanciação e acesso
Herança
Testes
Testes
O PyUnit (unittest) – nativo
O py.test
O nose
Testes
Testes
O assertEqual(a, b)
O assertNotEqual(a, b)
O assertIn(a, b)
O assertNotIn(a, b)
O assertFalse(a)
O assertTrue(a)
O assertIsInstance(a, TYPE)
O assertRaises(ERROR, a, args)
O Coding Dojo
Programadores não treinam
Por que treinar?
TREINAR
REUNIR
DESAFIAR
APRENDER
TREINAR
REUNIR
DESAFIAR
APRENDERSE DIVERTIR
Não é competição
Tão pouco, exibição
Aprender junto!
Pair Programming
Test Driven Development
Kata
-> Apresentação de uma solução
-> Todos devem conseguir reproduzir
-> Interrupções permitidas para tirar dúvidas
-> Piloto e co-piloto fixos
-> Resolvem antes, apresentam ao vivo
Randori
-> Programação em pares
-> Time-boxed”
->Após o turno (5-7 mim.):
O co-piloto vira piloto
O piloto volta para a platéia
Um novo co-piloto é convidado da platéia
->Comentários e críticas somente no verde
silêncio no vermelho
Kake
-> Quase Randori
-> Vários pares simultâneos
-> Pessoas trocam entre
máquinas a cada turno
Retrospectiva
Referências
O Coding Dojo em 5 minutos!
O Apoie Dojo
O Dojo Puzzles
O AgileAndArt

Contenu connexe

Tendances

Introdução ao Python
Introdução ao PythonIntrodução ao Python
Introdução ao Python
Lucas Castejon
 

Tendances (20)

Por Que Python - #PUGCE
Por Que Python - #PUGCEPor Que Python - #PUGCE
Por Que Python - #PUGCE
 
Python Poli 2010
Python Poli 2010Python Poli 2010
Python Poli 2010
 
Python, por onde começar - Semana Technológica UTFPR 2015.
Python, por onde começar - Semana Technológica UTFPR 2015.Python, por onde começar - Semana Technológica UTFPR 2015.
Python, por onde começar - Semana Technológica UTFPR 2015.
 
Globo Tech Talks - Python[7]
Globo Tech Talks - Python[7]Globo Tech Talks - Python[7]
Globo Tech Talks - Python[7]
 
Apresentação Python Poli
Apresentação Python PoliApresentação Python Poli
Apresentação Python Poli
 
Desvendando o python
Desvendando o pythonDesvendando o python
Desvendando o python
 
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
 
CoGrOO 4.0 no FISL 13
CoGrOO 4.0 no FISL 13CoGrOO 4.0 no FISL 13
CoGrOO 4.0 no FISL 13
 
Introdução ao Python
Introdução ao PythonIntrodução ao Python
Introdução ao Python
 
Porque python é legal! d
Porque python é legal!  dPorque python é legal!  d
Porque python é legal! d
 
O mundo visto de dentro do Ruby
O mundo visto de dentro do RubyO mundo visto de dentro do Ruby
O mundo visto de dentro do Ruby
 
Não se repita - Django Generic Views - Semana Acadêmica TADS 2015.
Não se repita - Django Generic Views - Semana Acadêmica TADS 2015.Não se repita - Django Generic Views - Semana Acadêmica TADS 2015.
Não se repita - Django Generic Views - Semana Acadêmica TADS 2015.
 
Python, por onde começar? @FTSL2014
Python, por onde começar? @FTSL2014Python, por onde começar? @FTSL2014
Python, por onde começar? @FTSL2014
 
PUG-SE Institucional
PUG-SE InstitucionalPUG-SE Institucional
PUG-SE Institucional
 
Por que o futuro do Python só depende dos Pythonistas?
Por que o futuro do Python só depende dos Pythonistas?Por que o futuro do Python só depende dos Pythonistas?
Por que o futuro do Python só depende dos Pythonistas?
 
Python na Web
Python na WebPython na Web
Python na Web
 
Aplicações do Python na escola e no mercado de trabalho
Aplicações do Python na escola e no mercado de trabalhoAplicações do Python na escola e no mercado de trabalho
Aplicações do Python na escola e no mercado de trabalho
 
TDC2016POA | Trilha Python - Python Assíncrono: tudo ao mesmo tempo agora
TDC2016POA | Trilha Python - Python Assíncrono: tudo ao mesmo tempo agoraTDC2016POA | Trilha Python - Python Assíncrono: tudo ao mesmo tempo agora
TDC2016POA | Trilha Python - Python Assíncrono: tudo ao mesmo tempo agora
 
Ensinando Computação e Fazendo Ciência com Python
Ensinando Computação e Fazendo Ciência com PythonEnsinando Computação e Fazendo Ciência com Python
Ensinando Computação e Fazendo Ciência com Python
 
Django: desenvolvendo aplicações web de maneira simples e rápida!
Django: desenvolvendo aplicações web de maneira simples e rápida!Django: desenvolvendo aplicações web de maneira simples e rápida!
Django: desenvolvendo aplicações web de maneira simples e rápida!
 

En vedette (9)

Trabajo final
Trabajo finalTrabajo final
Trabajo final
 
Memoria
MemoriaMemoria
Memoria
 
Apresentando o OpenStreetMap
Apresentando o OpenStreetMapApresentando o OpenStreetMap
Apresentando o OpenStreetMap
 
Método x closure
Método x closureMétodo x closure
Método x closure
 
Fp portal
Fp portalFp portal
Fp portal
 
Salvador Dalí
Salvador DalíSalvador Dalí
Salvador Dalí
 
Keynote Seminario Software Libre E Interoperabilidad
Keynote Seminario Software Libre E InteroperabilidadKeynote Seminario Software Libre E Interoperabilidad
Keynote Seminario Software Libre E Interoperabilidad
 
Oficina de Vídeo
Oficina de VídeoOficina de Vídeo
Oficina de Vídeo
 
TV Pendrive (Monitor Educacional) - Conversão de Arquivos
TV Pendrive (Monitor Educacional) - Conversão de ArquivosTV Pendrive (Monitor Educacional) - Conversão de Arquivos
TV Pendrive (Monitor Educacional) - Conversão de Arquivos
 

Similaire à PyDojo

Python - Introdução Básica
Python - Introdução BásicaPython - Introdução Básica
Python - Introdução Básica
Christian Perone
 
Comsolid2011 Introdução Python
Comsolid2011 Introdução PythonComsolid2011 Introdução Python
Comsolid2011 Introdução Python
Gleison Rodrigues
 
Python Pythononcampus Uva 060609
Python Pythononcampus Uva 060609Python Pythononcampus Uva 060609
Python Pythononcampus Uva 060609
gsroma
 

Similaire à PyDojo (20)

The zen of python 2010
The zen of python 2010The zen of python 2010
The zen of python 2010
 
Implementação de Aplicações Móveis e Jogos com Python - Aula 1
Implementação de Aplicações Móveis e Jogos com Python - Aula 1Implementação de Aplicações Móveis e Jogos com Python - Aula 1
Implementação de Aplicações Móveis e Jogos com Python - Aula 1
 
Python Zope Plone - Ftec
Python Zope Plone - FtecPython Zope Plone - Ftec
Python Zope Plone - Ftec
 
Python django7semestre
Python django7semestre Python django7semestre
Python django7semestre
 
Python Mini Ccurso Consegi2011
Python Mini Ccurso Consegi2011Python Mini Ccurso Consegi2011
Python Mini Ccurso Consegi2011
 
python_para_desenvolvedores.pdf
python_para_desenvolvedores.pdfpython_para_desenvolvedores.pdf
python_para_desenvolvedores.pdf
 
Python Zope Plone - Tchelinux
Python Zope Plone - TchelinuxPython Zope Plone - Tchelinux
Python Zope Plone - Tchelinux
 
Python - Introdução Básica
Python - Introdução BásicaPython - Introdução Básica
Python - Introdução Básica
 
Desenvolvimento Ágil de Aplicações Web com Python e Django
Desenvolvimento Ágil de Aplicações Web com Python e DjangoDesenvolvimento Ágil de Aplicações Web com Python e Django
Desenvolvimento Ágil de Aplicações Web com Python e Django
 
Comsolid2011 Introdução Python
Comsolid2011 Introdução PythonComsolid2011 Introdução Python
Comsolid2011 Introdução Python
 
Python - Programando em alto nível
Python - Programando em alto nívelPython - Programando em alto nível
Python - Programando em alto nível
 
Integrando Python e JavaScript
Integrando Python e JavaScriptIntegrando Python e JavaScript
Integrando Python e JavaScript
 
Python Zope Plone - Fiocruz
Python Zope Plone - FiocruzPython Zope Plone - Fiocruz
Python Zope Plone - Fiocruz
 
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
 
Palestra Apresentando Python e Suas Aplicações
Palestra Apresentando Python e Suas AplicaçõesPalestra Apresentando Python e Suas Aplicações
Palestra Apresentando Python e Suas Aplicações
 
Python tutorial-ed3
Python tutorial-ed3Python tutorial-ed3
Python tutorial-ed3
 
Tutorial Python ed. #2
Tutorial Python ed. #2Tutorial Python ed. #2
Tutorial Python ed. #2
 
Desenvolvimento web simples com Python e DJango
Desenvolvimento web simples com Python e DJangoDesenvolvimento web simples com Python e DJango
Desenvolvimento web simples com Python e DJango
 
Python Training #1 - ed4
Python Training #1 - ed4Python Training #1 - ed4
Python Training #1 - ed4
 

Plus de Matheus Cardoso

Plus de Matheus Cardoso (8)

"If You know Angular, now You know mobile"
"If You know Angular, now You know mobile" "If You know Angular, now You know mobile"
"If You know Angular, now You know mobile"
 
Angular 2: O que mudou do Angular 1, ES6 e Typescript
Angular 2: O que mudou do Angular 1, ES6 e TypescriptAngular 2: O que mudou do Angular 1, ES6 e Typescript
Angular 2: O que mudou do Angular 1, ES6 e Typescript
 
UMA PROPOSTA DE ADOÇÃO DO PRONTUÁRIO ELETRÔNICO PESSOAL: INTEGRANDO SISTEMAS...
UMA PROPOSTA DE ADOÇÃO DO PRONTUÁRIO ELETRÔNICO PESSOAL:  INTEGRANDO SISTEMAS...UMA PROPOSTA DE ADOÇÃO DO PRONTUÁRIO ELETRÔNICO PESSOAL:  INTEGRANDO SISTEMAS...
UMA PROPOSTA DE ADOÇÃO DO PRONTUÁRIO ELETRÔNICO PESSOAL: INTEGRANDO SISTEMAS...
 
Aplicação de um sistema fuzzy para classificação de opinião em diferentes dom...
Aplicação de um sistema fuzzy para classificação de opinião em diferentes dom...Aplicação de um sistema fuzzy para classificação de opinião em diferentes dom...
Aplicação de um sistema fuzzy para classificação de opinião em diferentes dom...
 
Ionic: The Web SDK for Develop Mobile Apps.
Ionic: The Web SDK for Develop Mobile Apps.Ionic: The Web SDK for Develop Mobile Apps.
Ionic: The Web SDK for Develop Mobile Apps.
 
Ionic Framework: Let's build amazing apps. No Excuses!
Ionic Framework: Let's build amazing apps. No Excuses!Ionic Framework: Let's build amazing apps. No Excuses!
Ionic Framework: Let's build amazing apps. No Excuses!
 
Python na Web - Apresentando o web2py
Python na Web - Apresentando o web2pyPython na Web - Apresentando o web2py
Python na Web - Apresentando o web2py
 
Mineração de Opiniões e Análise de Sentimentos
Mineração de Opiniões e Análise de SentimentosMineração de Opiniões e Análise de Sentimentos
Mineração de Opiniões e Análise de Sentimentos
 

PyDojo