Py dojo

66
Logo do London Python Dojo

Transcript of Py dojo

Page 1: Py dojo

Logo do London Python Dojo

Page 2: Py dojo
Page 3: Py 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

Page 4: Py 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

Page 5: Py dojo

O que é Python?

O Multi-propósito(Web, GUI, Scripting, etc.)

O Orientada a objetos

O Interpretada (oualgo próximo disso)

O Linguagemdinâmica e fortemente tipada

O Foco emlegibilidade e produtividade

Page 6: Py dojo

Principais características

O Baterias incluídas

O Tudo é objeto

O Shell interativo

O Multi-plataforma

Page 7: Py dojo

Quem usa?

O Nasa – lançamento de foguetes

O Serpro - confecção rápida de portais Web

O Embratel – monitoramento do backbone

Page 8: Py dojo

Releases

O 1.0 – 1994

O 2.0 – 2000

O 3.0 – 2008

O Versão mais usada: 2.7

Page 9: Py dojo

Sintaxe

Page 10: Py dojo

Sintaxe

INDENTAÇÃO É LEVADA A SÉRIO

Page 11: Py dojo

Indentação

Você está fazendo isso errado!

Page 12: Py dojo

Indentação

Você está fazendo isso errado!

Page 13: Py dojo

Indentação

Você está fazendo isso MUITO errado!

Page 14: Py dojo

Indentação

Agora ficou melhor, não?

Page 15: Py dojo

Indentação

#soQueNao

Page 16: Py dojo

Comentários

Page 17: Py dojo

Tipos

Page 18: Py dojo

Strings

Page 19: Py dojo

Números

Page 20: Py dojo

Null

Page 21: Py dojo

Listas

Page 22: Py dojo

Listas

Page 23: Py dojo

Dictionaries

Page 24: Py dojo

Dictionary Methods

Page 25: Py dojo

Boleanos

Page 26: Py dojo

Operadores

Page 27: Py dojo

Aritméticos

Page 28: Py dojo

Aritméticos

Page 29: Py dojo

Lógicos

Page 30: Py dojo

Estruturas de controle

Page 31: Py dojo

Condicionais

Page 32: Py dojo

Funções

Page 33: Py dojo

Funções

Page 34: Py dojo

Argumentos

Page 35: Py dojo

For

Page 36: Py dojo

While

Page 37: Py dojo

Imports

O Re-uso

O Namespaces

Page 38: Py dojo

Imports

Page 39: Py dojo

Classes

Page 40: Py dojo

Declaração

Page 41: Py dojo

Atributos

O Atributos de classe são imutáveis

Page 42: Py dojo

Métodos

Page 43: Py dojo

Instanciação e acesso

Page 44: Py dojo

Herança

Page 45: Py dojo

Testes

Page 46: Py dojo

Testes

O PyUnit (unittest) – nativo

O py.test

O nose

Page 47: Py dojo

Testes

Page 48: Py dojo

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: Py dojo

O Coding Dojo

Page 50: Py dojo

Programadores não treinam

Page 51: Py dojo

Por que treinar?

Page 52: Py dojo
Page 53: Py dojo

TREINAR

REUNIR

DESAFIAR

APRENDER

Page 54: Py dojo

TREINAR

REUNIR

DESAFIAR

APRENDERSE DIVERTIR

Page 55: Py dojo

Não é competição

Page 56: Py dojo

Tão pouco, exibição

Page 57: Py dojo

Aprender junto!

Page 58: Py dojo

Pair Programming

Page 59: Py dojo

Test Driven Development

Page 60: Py dojo
Page 61: Py dojo
Page 62: Py dojo

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 63: Py dojo

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 64: Py dojo

Kake

-> Quase Randori

-> Vários pares simultâneos

-> Pessoas trocam entre

máquinas a cada turno

Page 65: Py dojo

Retrospectiva