pydojo
DESCRIPTION
Apresentação sobre Python e Dojo para o grupo de Práticas de Software, na UEFS, Bahia.TRANSCRIPT
![Page 1: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/1.jpg)
Logo do London Python Dojo
![Page 2: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/2.jpg)
![Page 3: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/3.jpg)
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
![Page 4: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/4.jpg)
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
![Page 5: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/5.jpg)
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
![Page 6: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/6.jpg)
Principais características
O Baterias incluídas
O Tudo é objeto
O Shell interativo
O Multi-plataforma
![Page 7: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/7.jpg)
Quem usa?
O Nasa – lançamento de foguetes
O Serpro - confecção rápida de portais Web
O Embratel – monitoramento do backbone
![Page 8: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/8.jpg)
Releases
O 1.0 – 1994
O 2.0 – 2000
O 3.0 – 2008
O Versão mais usada: 2.7
![Page 9: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/9.jpg)
Sintaxe
![Page 10: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/10.jpg)
Sintaxe
INDENTAÇÃO É LEVADA A SÉRIO
![Page 11: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/11.jpg)
Indentação
Você está fazendo isso errado!
![Page 12: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/12.jpg)
Indentação
Você está fazendo isso errado!
![Page 13: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/13.jpg)
Indentação
Você está fazendo isso MUITO errado!
![Page 14: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/14.jpg)
Indentação
Agora ficou melhor, não?
![Page 15: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/15.jpg)
Indentação
#soQueNao
![Page 16: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/16.jpg)
Comentários
![Page 17: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/17.jpg)
Tipos
![Page 18: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/18.jpg)
Strings
![Page 19: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/19.jpg)
Números
![Page 20: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/20.jpg)
Null
![Page 21: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/21.jpg)
Listas
![Page 22: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/22.jpg)
Listas
![Page 23: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/23.jpg)
Dictionaries
![Page 24: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/24.jpg)
Dictionary Methods
![Page 25: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/25.jpg)
Boleanos
![Page 26: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/26.jpg)
Operadores
![Page 27: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/27.jpg)
Aritméticos
![Page 28: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/28.jpg)
Aritméticos
![Page 29: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/29.jpg)
Lógicos
![Page 30: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/30.jpg)
Estruturas de controle
![Page 31: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/31.jpg)
Condicionais
![Page 32: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/32.jpg)
Funções
![Page 33: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/33.jpg)
Funções
![Page 34: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/34.jpg)
Argumentos
![Page 35: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/35.jpg)
For
![Page 36: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/36.jpg)
While
![Page 37: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/37.jpg)
Imports
O Re-uso
O Namespaces
![Page 38: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/38.jpg)
Imports
![Page 39: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/39.jpg)
Classes
![Page 40: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/40.jpg)
Declaração
![Page 41: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/41.jpg)
Atributos
O Atributos de classe são imutáveis
![Page 42: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/42.jpg)
Métodos
![Page 43: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/43.jpg)
Instanciação e acesso
![Page 44: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/44.jpg)
Herança
![Page 45: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/45.jpg)
Testes
![Page 46: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/46.jpg)
Testes
O PyUnit (unittest) – nativo
O py.test
O nose
![Page 47: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/47.jpg)
Testes
![Page 48: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/48.jpg)
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)
![Page 49: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/49.jpg)
O Coding Dojo
![Page 50: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/50.jpg)
Programadores não treinam
![Page 51: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/51.jpg)
Por que treinar?
![Page 52: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/52.jpg)
![Page 53: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/53.jpg)
TREINAR
REUNIR
DESAFIAR
APRENDER
![Page 54: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/54.jpg)
TREINAR
REUNIR
DESAFIAR
APRENDERSE DIVERTIR
![Page 55: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/55.jpg)
Não é competição
![Page 56: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/56.jpg)
Tão pouco, exibição
![Page 57: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/57.jpg)
Aprender junto!
![Page 58: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/58.jpg)
Pair Programming
![Page 59: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/59.jpg)
Test Driven Development
![Page 60: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/60.jpg)
![Page 61: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/61.jpg)
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
![Page 62: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/62.jpg)
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
![Page 63: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/63.jpg)
Kake
-> Quase Randori
-> Vários pares simultâneos
-> Pessoas trocam entre
máquinas a cada turno
![Page 64: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/64.jpg)
Retrospectiva
![Page 65: PyDojo](https://reader034.vdocuments.net/reader034/viewer/2022052304/559d29411a28abe8518b4710/html5/thumbnails/65.jpg)
Referências
O Coding Dojo em 5 minutos!
O Apoie Dojo
O Dojo Puzzles
O AgileAndArt