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

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.

Rodrigo Amaral

December 07, 2016
Tweet

More Decks by Rodrigo Amaral

Other Decks in Programming

Transcript

  1. 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.
  2. O QUE REDUZ O FOCO? • Distrações disponíveis no ambiente

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

    forte • Multiparadigma • Multiplataforma • Sixtaxe intuitiva, simples e concisa • Fácil de aprender • Poderosa • Divertida! :)
  4. 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
  5. 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!
  6. INTERPRETADOR INTERATIVO • Maneira rápida e eficiente de executar pequenos

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

    void main(String[] args) { System.out.println("Hello, World!"); } } print("Hello, World!") JAVA PYTHON
  8. 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
  9. PYTHON CABE NO SEU CÉREBRO (3) import random sorteio =

    'Pedro Maria Paulo Joana Renato Sofia'.split() print(random.choice(sorteio)) SORTEIO SIMPLES
  10. “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...
  11. Python 2 é para código legado. Python 3 é o

    presente e o futuro da linguagem. Para saber mais: http://wiki.python.org/moin/Python2orPython3
  12. E se você precisar de menos código? Ou puder organizar

    o código do jeito que você preferir?
  13. 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
  14. 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.