Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Mini_curso_Python.pdf

 Mini_curso_Python.pdf

Gláuber Brennon

December 02, 2014
Tweet

More Decks by Gláuber Brennon

Other Decks in Programming

Transcript

  1. Quem sou eu? • Gláuber Brennon • Estudante de Eng

    da Computação • Voluntário do Lab ACM • Desenvolvedor na ADSS • Programo Python, Ruby e C desde 2010 • Atualmente trabalho com Node.js e Python
  2. Então você veio aprender Python? • Alto nível • Multiparadigma

    (estruturada, OO, funcional) • Multiplataforma (Linux, Mac e windows) • Desktop, Web, Mobile, etc • Sintaxe de fácil compreensão • Alta velocidade no desenvolvimento • Alta manutenibilidade
  3. Variáveis //programando em C int numero = 0; char letra

    = "C"; char palavra[10] = "exemplo"; #programando em Python numero = 0 letra = "C" palavra = "exemplo" print(palavra)
  4. Problema: Pedra, Papel e tesoura Jokenpo é uma brincadeira japonesa,

    onde dois jogadores escolhem um dentre três possíveis itens: Pedra, Papel ou Tesoura. O objetivo é fazer um juiz de Jokenpo que dada a jogada dos dois jogadores informa o resultado da partida. As regras são as seguintes: • Pedra empata com Pedra e ganha de Tesoura • Tesoura empata com Tesoura e ganha de Papel • Papel empata com Papel e ganha de Pedra
  5. Teste seu Código! • “O dia anterior todo testando meu

    programa! Escrevo todas respostas necessárias e tudo mais, porém quando o professor pegou, deu pau!”, João não usa testes.
  6. Teste seu Código! • “Usei TDD e fiquei até o

    último dia escrevendo testes! Bugs? Não sei o que é isso!”, Felipe usa usa testes.
  7. Test Driven Development(TDD) • Escreva um teste • Escreva uma

    função para solucionar o teste • Otimize seu código!
  8. Test Driven Development(TDD) import unittest def soma_um(x): return x +

    1 class MyTest(unittest.TestCase): def test(self): self.assertEqual(soma_um(3), 4)
  9. Test Driven Development(TDD) assertEqual(a, b) #testa igualdade assertNotEqual(a, b)#testa diferença

    assertTrue(x) #testa se é True assertFalse(x) #testa se é False assertIsNone(x) #testa se None assertIsNotNone(x) #testa se não None assertGreater(a, b) #testa se é maior que assertGreaterEqual(a, b) #testa se maior ou igual assertLess(a, b) #testa se é menor que assertLessEqual(a, b) #testa se é menor ou igual
  10. Test Driven Development(TDD) • Escreva um teste • Escreva uma

    função para solucionar o teste • Otimize seu código!
  11. Problema: 1,2,3...PIN! Quem se lembra da brincadeira do PIN que

    o Silvio Santos fazia em seus programas? Ou aquela brincadeira de “contar” que fazemos quando bebemos? Este é o 1,2,3...PIN! Resolva utilizando metodologia de TDD o problema seguindo a seguinte sequência: • “1,2,3,PIN,4,5,6,7,PIN,9,...”
  12. • Seria um programa somente um monte de funções? •

    E se eu quiser modelar um cachorro? • E um gato? • Será possível? Programação Orientada a Objetos
  13. • Seria um programa somente um monte de funções? •

    E se eu quiser modelar um cachorro? • E um gato? • Será possível? Programação Orientada a Objetos VAMOS MODELAR O LEGO!
  14. class Lego: • Propriedades: ◦ Cor ◦ Tamanho ◦ Qntd

    encaixes ◦ Formato • Funções: ◦ Conectar com outras peças ◦ Desaparecer ◦ Machucar o pé dos outros
  15. class Lego: • Atributos: ◦ Cor ◦ Tamanho ◦ Qntd

    encaixes ◦ Formato • Métodos: ◦ Conectar com outras peças ◦ Desaparecer ◦ Machucar o pé dos outros
  16. • Classe: ◦ Trecho de código que descreve(modela) um determinado

    grupo. Exemplos: Pessoa, Cachorro, Gato, etc ◦ Quais características representam uma pessoa? ▪ Nome, idade, sexo, altura, etc…. ◦ O que uma pessoa faz? ▪ Anda, se alimenta, respira, pensa... Programação Orientada a Objetos
  17. • Aplicações que rodam em um servidor e são acessadas

    remotamente através de um browser. • Pode-se desenvolver utilizando: C, Python, Ruby, Java, Node, PHP, ASP, C#, etc... Criando aplicações Web
  18. • Microframework: Flask • Extensível • Livre de padrões! •

    Open-source • O framework trabalha para você! Criando aplicações Web
  19. Muito obrigado! Gostou de Python? Continue seus estudos! • http://pycursos.com/python-para-zumbis/

    • http://learnpythonthehardway.org/ • http://novatec.com.br/livros/intropython/ [email protected]