Python: Produtividade Para Todos

Python: Produtividade Para Todos

Visão geral das características de Python que a tornam uma das linguagens mais versáteis existentes. Palestra apresentada na IV Jornada de Tecnologia da FANESE, em 7 de dezembro de 2016.

7c8162d1005bd8ea7ec6d4859852da46?s=128

Rodrigo Amaral

December 07, 2016
Tweet

Transcript

  1. PYTHON PRODUTIVIDADE PARA TODOS Rodrigo Amaral IV Jornada de Tecnologia

    da FANESE Dezembro, 2016
  2. QUANTO VALE SEU TEMPO?

  3. PRODUTIVIDADE Eficácia • “O que deve ser feito” • Resultados

    otimizados Eficiência • “Fazer da forma certa” • Mais qualidade, velocidade, quantidade, menor custo Foco • Canalizar capacidade e energia em uma atividade MOURA, Dionatan. O Mantra da Produtividade. Casa do Código, 2016.
  4. O QUE REDUZ O FOCO? • Distrações disponíveis no ambiente

    • Interrupções • Cansaço físico e mental • Ferramentas inadequadas para a tarefa
  5. POR QUE PYTHON? • Interpretada • Dinamicamente tipada • Tipagem

    forte • Multiparadigma • Multiplataforma • Sixtaxe intuitiva, simples e concisa • Fácil de aprender • Poderosa • Divertida! :)
  6. QUEM USA PYTHON

  7. COMO TUDO COMEÇOU? • Guido van Rossum • Holanda •

    Inspirada na linguagem ABC • Implementação iniciada em dezembro de 1989 • Primeira versão pública em fevereiro de 1991
  8. THE ZEN OF PYTHON >>> import this The Zen of

    Python, by Tim Peters Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't special enough to break the rules. Although practicality beats purity. Errors should never pass silently. Unless explicitly silenced. In the face of ambiguity, refuse the temptation to guess. There should be one-- and preferably only one --obvious way to do it. Although that way may not be obvious at first unless you're Dutch. Now is better than never. Although never is often better than *right* now. If the implementation is hard to explain, it's a bad idea. If the implementation is easy to explain, it may be a good idea. Namespaces are one honking great idea -- let's do more of those!
  9. INTERPRETADOR INTERATIVO • Maneira rápida e eficiente de executar pequenos

    trechos de código • Útil para prototipar e aprender
  10. PYTHON CABE NO SEU CÉREBRO class HelloWorld { public static

    void main(String[] args) { System.out.println("Hello, World!"); } } print("Hello, World!") JAVA PYTHON
  11. PYTHON CABE NO SEU CÉREBRO (2) vetor = [1, 2,

    3, 4, 5, 6, 7] quadrado_pares = [n ** 2 for n in vetor if n % 2 == 0] print(quadrado_pares) # mostra [4, 16, 36] QUADRADO DOS NÚMEROS PARES EM UM VETOR
  12. PYTHON CABE NO SEU CÉREBRO (3) import random sorteio =

    'Pedro Maria Paulo Joana Renato Sofia'.split() print(random.choice(sorteio)) SORTEIO SIMPLES
  13. “BATTERIES INCLUDED” Biblioteca padrão rica e versátil, traz módulos para

    várias finalidades: • Regex (re) • Funções de SO/shell (os, shutil) • Manipulação de arquivos (zlib, gzip, tarfile, csv, xml, json) • Bancos de dados (sqlite3) • Protocolos (httplib, smtplib, imaplib, nntplib) • GUI (tkinter) • Programação assíncrona (asyncio) • E muito mais...
  14. EXEMPLO Standard Library

  15. PYTHON É PARA TODOS!

  16. PARA DESENVOLVEDORES WEB

  17. None
  18. None
  19. None
  20. None
  21. None
  22. EXEMPLO Flask

  23. PARA ADMINISTRADORES DE SISTEMAS E REDES HTTP SSH Automação de

    infraestrutura Livro
  24. None
  25. EXEMPLO Requests

  26. PARA CIENTISTAS e ANALISTAS DE DADOS

  27. EXEMPLO Jupyter & pandas

  28. INTERNET DAS COISAS

  29. PARA JORNALISTAS Raspagem e mineração de dados na web

  30. O QUE OS NOVATOS EM PYTHON COSTUMAM PERGUNTAR?

  31. 1Python 2 ou Python 3?

  32. VOCÊ ESTÁ INICIANDO EM PYTHON?

  33. Os livros mais recentes são baseados em Python 3.

  34. Sistemas operacionais estão passando a usar Python 3 como padrão.

    Ex.: Ubuntu, Fedora, Arch Linux etc.
  35. Bibliotecas e frameworks importantes já são compatíveis (ou estão migrando)

    para Python 3.
  36. Python 2 é para código legado. Python 3 é o

    presente e o futuro da linguagem. Para saber mais: http://wiki.python.org/moin/Python2orPython3
  37. 2Qual a melhor IDE?

  38. VOCÊ REALMENTE PRECISA DE UMA IDE?

  39. IDEs são como navegadores para seu código.

  40. E se você precisar de menos código?

  41. E se você precisar de menos código? Ou puder organizar

    o código do jeito que você preferir?
  42. Se você quer aprender de verdade, evite usar IDE por

    enquanto.
  43. Seu editor de texto favorito e o shell interativo são

    suficientes nessa fase.
  44. Quando a hora certa chegar, você vai saber.

  45. Quando a hora certa chegar, você vai saber. Ou não.

  46. DESCOBRIU QUE QUER EXPERIMENTAR UMA IDE?

  47. None
  48. None
  49. None
  50. None
  51. None
  52. É uma decisão pessoal. Experimente cada uma por um tempo

    e tire suas conclusões.
  53. 3Existem livros em português?

  54. SIM, VÁRIOS!

  55. Introdução à Programação com Python Nilo Ney Coutinho Menezes Novatec

  56. Python e Django Osvaldo Santana e Thiago Galesi Novatec

  57. Python para Desenvolvedores Luiz Eduardo Borges

  58. Use a Cabeça! Python Paul Barry O’Reilly / Alta Books

  59. Aprendendo Python Mark Lutz e David Ascher O’Reilly / Bookman

  60. Python Cookbook David Beazley e Brian K. Jonez O’Reilly /

    Novatec
  61. Python Fluente Luciano Ramalho O’Reilly / Novatec

  62. 4Como aprofundar meus conhecimentos?

  63. Cursos online são um bom começo.

  64. None
  65. None
  66. Contribua com um projeto de código aberto.

  67. Crie seu próprio projeto de código aberto.

  68. Participe das listas de discussão.

  69. Vá a quantos eventos puder.

  70. COMUNIDADE "I don't know about the rest of you... I

    came for the language, but I stayed for the community." -- Brett Cannon, Python Core Dev
  71. None
  72. PYTHON BRASIL 2016 Florianópolis, SC

  73. PYTHON NORDESTE 2016 Teresina, PI

  74. ENCONTROS DO PUG-SE Aracaju, SE

  75. Python User Group Sergipe http://se.python.org.br

  76. REFERÊNCIAS 1. MOURA, Dionatan. O Mantra da Produtividade. Casa do

    Código, 2016. 2. VAN ROSSUM, Guido. A Brief Timeline of Python. Disponível em https://goo.gl/5zeaHx. 3. Wikipedia. ABC (programming language). Disponível em https://goo.gl/g0JjpH. 4. Instagram Engineering. Web Service Efficiency at Instagram with Python. Disponível em https://goo.gl/BjK5hN. 5. The Netflix Tech Blog. Python at Netflix. Disponível em https://goo.gl/8oDma4. 6. MASANORI, Fernando. Para Gostar de Python. Disponível em https://goo.gl/cA3CrL. 7. RAMALHO, Luciano. Python: a Arma Secreta de Todo Mundo. Disponível em https://goo.gl/q6b6UN. 8. RHODES, Brandon. Foundations of Python Network Programming, Third Edition. Apress, 2014. 9. Exemplos de notebooks do Jupyter https://github.com/ogrisel/notebooks 10. Cisco. Cisco Network Programmability Developer Specialist. Disponível em https://goo.gl/Tkyg3h. 11. Escola de Dados. Raspagem & Jornalismo de Dados. Disponível em https://goo.gl/aOabBp. 12. CEDER, Naomi. Come for the Language, Stay for the Community. Disponível em https://goo.gl/tevB0D.
  77. OBRIGADO!