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

Introdução a linguagem Python no 1º meetup Pyqui

Introdução a linguagem Python no 1º meetup Pyqui

Introdução a linguagem Python no 1º meetup da comunidade Pyqui - Mato Grosso

Leonardo Gregianin

November 23, 2019
Tweet

More Decks by Leonardo Gregianin

Other Decks in Technology

Transcript

  1. Introdução a linguagem Python - Leonardo Gregianin - 1º PyQUI

    Leonardo Gregianin, Software engineer github.com/leogregianin Introdução a Linguagem
  2. Introdução a linguagem Python - Leonardo Gregianin - 1º PyQUI

    • História, filosofia e linguagem • Popularidade • Empresas que nasceram com stack Python • Empresas do Brasil que usam Python • Conceitos • Exemplos de código Agenda
  3. Introdução a linguagem Python - Leonardo Gregianin - 1º PyQUI

    História e evolução "Python is a programming language that lets you work more quickly and integrate your systems more effectively." (python.org) • Criada por Guido Van Rossum no CWI (Holanda). • Lançada em 1991 e concebida em 1989. • Open source (github.com/python/cpython) • Python Software Foundation (Financiamentos, Conferências) ◦ Maiores patrocinadores Facebook, Capital One, Google, Microsoft, Fastly, AWS, Bloomberg e outras. • Decisões sobre a evolução da linguagem (PEP’s) Google 2005-2012 e Dropbox 2013-2019
  4. Introdução a linguagem Python - Leonardo Gregianin - 1º PyQUI

    Filosofia >>> import this The Zen of Python Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Readability counts. (. . .) Bonito é melhor que feio. Explícito é melhor que implícito Simples é melhor que complexo. Complexo é melhor que complicado. Legibilidade conta.
  5. Introdução a linguagem Python - Leonardo Gregianin - 1º PyQUI

    Linguagem • Linguagem de uso geral ◦ Scripts, web, data science, API, desktop, games, banco de dados, hardware • Interpretada (bytecodes pyc e pyo) • Tipagem dinâmica (estática com mypy) • Case sensitive • Sem caracteres estranhos :D (Língua inglesa) • Multi plataforma (Windows, Mac, Linux, Raspberry Pi, etc) • Multi paradigma (Procedural, OOP, Functional) • Implementações (CPython, Jython, IronPython, PyPy, LunaticPython) • Batteries Included (grande número de bibliotecas nativas) • PyPi - Python Package Index (pypi.org)
  6. Introdução a linguagem Python - Leonardo Gregianin - 1º PyQUI

    https://blog.disqus.com/scaling-django-to-8-billion-page-views
  7. Introdução a linguagem Python - Leonardo Gregianin - 1º PyQUI

    Quem mais? Sistema de recomendação https://medium.com/netflix-techblog/python-at-netflix-86b6028b3b3e 21% do código-fonte de todos os serviços https://engineering.fb.com/production-engineering/python-in-production-engineering/ 80% dos microserviços https://labs.spotify.com/2013/03/20/how-we-use-python-at-spotify/ Plataforma construída com Django + Tornado https://www.quora.com/What-is-the-technology-stack-behind-Pinterest-1
  8. Introdução a linguagem Python - Leonardo Gregianin - 1º PyQUI

    Não tem empresas que usam Python no Brasil? https://python.org.br/empresas
  9. Introdução a linguagem Python - Leonardo Gregianin - 1º PyQUI

    Sintaxe básica • Tipos primitivos: • int: 5 • float: 10.5 • bool: True, False • str: ‘Olá’, ‘1000’ • Operadores aritméticos: • Adição: 1 + 1 = 2 • Subtração: 1 - 1 = 0 • Multiplicação: 2 * 4 = 8 • Divisão: 10 / 2 = 5 • Potência: 5 ** 2 = 25 • Divisão inteira: 5 // 2 = 2 • Resto divisão: 5 % 2 = 1 • Operadores de comparação: • Igual: x == y • Não igual: x != y • Maior que: x > y • Menor que: x < y • Maior ou igual: x >= y • Menor ou igual: x <= y • Operadores lógicos: and, or, not • Operadores de identificação: is, not is • Operadores de associação: in, not in • Variáveis: ◦ animal_1 = ‘cobra’ type(animal_1) ◦ firstNum = 100 type(firstNum) • Comentários: # ou “””comment””””
  10. Introdução a linguagem Python - Leonardo Gregianin - 1º PyQUI

    Identação para separação de blocos Execução
  11. Introdução a linguagem Python - Leonardo Gregianin - 1º PyQUI

    Palavras reservadas 33 palavras reservadas no Python 3.6 35 palavras reservadas no Python 3.8 False, None, True, and, as, assert, async, await, break, class, continue, def, del, elif, else, except, finally, for, from, global, if, import, in, is, lambda, nonlocal, not, or, pass, raise, return, try, while, with, yield PEP 492: https://www.python.org/dev/peps/pep-0492/
  12. Introdução a linguagem Python - Leonardo Gregianin - 1º PyQUI

    Erros (Traceback) https://realpython.com/python-traceback/
  13. Introdução a linguagem Python - Leonardo Gregianin - 1º PyQUI

    Módulos https://docs.python.org/3/library + 200.000 packages in https://www.pypi.org
  14. Introdução a linguagem Python - Leonardo Gregianin - 1º PyQUI

    Data Science, ML e IA scikit-learn numpy pandas matplotlib seaborn keras tensorflow
  15. Introdução a linguagem Python - Leonardo Gregianin - 1º PyQUI

    Próximos passos • Documentação oficial: https://docs.python.org/3/ • Gustavo Guanabara: http://bit.ly/35egHOo • Google Education: https://developers.google.com/edu/python • https://github.com/vinta/awesome-python