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

Workshop de Python

Workshop de Python

Foi apresentada a linguagem, sem focar em nenhuma biblioteca de terceiros. Começamos com um "Hello, World!", depois foi apresentado objetos e classes, tipos padrões do Python e etc. Depois desse overview básico, vimos coisas legais e mais avançadas da linguagem como list comprehensions, decoradores, geradores/iteradores, gerenciadores de contexto, métodos mágicos dos objetos e etc. Tudo isso mostrando exemplos em tempo real.

Palestrante: Thiago Bellini

Mini-bio:
Thiago Bellini é usuário de GNU/Linux e amante de software livre há mais de 10 anos. Graduando
em Sistemas de Informação pela USP de São Carlos, trabalha com desenvolvimento
Python desde 2010 na Async Open Source, empresa que desenvolve o software de
gestão comercial Stoq, focado principalmente em interfaces gráficas utilizando
o toolkit GTK+.

B2519015997dff04abe2568ebb2cf729?s=128

Opensanca

August 01, 2015
Tweet

More Decks by Opensanca

Other Decks in Technology

Transcript

  1. Introduction to Python A readable, dynamic, pleasant, flexible, fast and

    powerful language Nowell Strite Manager of Tech Solutions @ PBS nowell@strite.org
  2. Visão Geral •Histórico •Sintaxe •Tipos / Operadores / Fluxo de

    Controle •Funções •Classes •Ferramentas
  3. O que é Python •Uso geral (Web, GUI, Scripting, etc.)

    •Orientado a objetos •Interpretado •Tipagem dinâmica e forte •Focado em legibilidade e produtividade
  4. Funcionalidades •Baterias incluídas •Tudo é um objeto •Shell interativo •Forte

    conjunto de introspecção •Multi-plataforma •CPython, Jython, IronPython, PyPy
  5. Quem usa Python •Google •PBS •NASA •Library of Congress •the

    ONION •...the list goes on...
  6. Lançamentos •Criado em 1989 por Guido Van Rossum •Python 1.0

    lançado 1994 •Python 2.0 lançado em 2000 •Python 3.0 lançado em 2008 •Python 2.7 é a versão atualmente recomendada •3.0 adoção vai levar alguns anos
  7. Sintaxe

  8. Hello World hello_world.py

  9. Indentação •A maioria das linguagens não liga para indentação •A

    maioria dos humanos liga •Os seres humanos tem tendencia de agrupar coisas similares
  10. Indentação O else aqui na realidade pertence ao segundo if

  11. Indentação O else aqui na realidade pertence ao segundo if

  12. Indentação Eu conheci uma pesso que programava assim

  13. Indentação Você deve sempre ser explicito

  14. Indentação Text O Python abraça a indentação

  15. Comentários

  16. Tipos

  17. Strings

  18. Números

  19. Null

  20. Listas

  21. Listas

  22. Dicionários

  23. Métodos de Dicionários

  24. Booleanos

  25. Operadores

  26. Aritméticos

  27. Manipulação de Strings

  28. Comparação lógica

  29. Comparação por identidade

  30. Comparação aritmética

  31. Fluxo de controle

  32. Condicionais

  33. For Loop

  34. For Loop expandido

  35. While Loop

  36. List Comprehensions •Útil para substituir alguns for loops simples

  37. Funções

  38. Função básica

  39. Argumentos da Função

  40. Argumentos arbitrários

  41. Fibonacci

  42. Gerador de Fibonacci

  43. Classes

  44. Declaração de uma classe

  45. Atributos de uma classe

  46. Métodos de um objeto

  47. Instanciação de uma classe

  48. Herança de classes

  49. O modo Python •Sem interfaces. •Sem atributos/variáveis/funções provadas. •Atributos privados

    começam (mas não terminam) com 2 underscore. •Métodos especial começam e terminam com 2 underscores. •__init__, __doc__, __cmp__, __str__
  50. Imports •Permite isolamento de reutilização de código •Adiciona referencias a

    variáveis/classes/funções no namespace atual.
  51. Imports

  52. Mais Imports

  53. Manipulação de Erros

  54. Documentação

  55. Docstrings

  56. Ferramentas

  57. Frameworks Web •Django •Flask •Pylons •TurboGears •Zope •Grok

  58. IDEs •Emacs •Vim •Komodo •PyCharm •Eclipse (PyDev)

  59. Gerenciamento de Pacotes

  60. Recursos •http://python.org/ •http://diveintopython.org/ •http://djangoproject.com/

  61. Aprofundando •Decoradores •Gerenciadores de Contexto •Funções lambda •Geradores •...

  62. Perguntas?

  63. Obrigado!