Python: programação divertida novamente

19.786 visualizações

Publicada em

Apresentação sobre a linguagem de programação Python para o evento 3Kg de TI, em Aracaju, Sergipe, Brasil.

Publicada em: Tecnologia
  • Seja o primeiro a comentar

Python: programação divertida novamente

  1. 1. Python Programação divertida novamente Davi Lima Rodrigo Amaral Evento 3 Kg de TI Aracaju, março de 2011
  2. 2. Como tudo começou <ul><li>Quem? </li><ul><li>Guido van Rossum </li></ul><li>Onde? </li><ul><li>Centrum voor Wiskunde en Informatica (CWI) - Amsterdã, Holanda </li></ul><li>Quando? </li><ul><li>1989 (primeira versão em 1991) </li></ul></ul>
  3. 3. A palavra é simplicidade Python foi criada para facilitar o ensino e o uso da programação como ferramenta para não-programadores, tais como físicos, químicos e até cientistas sociais.
  4. 4. O ambiente faz diferença Bem Humorado Inspirado no grupo Monty Python
  5. 5. Facilitando a sua vida O que é mais importante para você? (a) Usar seu tempo para lidar com os detalhes da linguagem de programação (b) Ter tempo para pensar na solução de problemas
  6. 6. Facilitando a sua vida O compromisso principal de Python é não ficar entre o programador e o problema a ser resolvido . Afinal, nossos prazos já são curtos o suficiente para ainda perdermos tempo “brigando” com a ferramenta que deveria estar lá para nos ajudar.
  7. 7. Facilitando a sua vida
  8. 8. Na prática funciona assim Python é... ... orientada a objetos , mas também com suporte aos paradigmas estruturado e funcional . ... dinamicamente tipada , porém com tipagem forte . ... multiplataforma . Roda em Unix/Linux, Windows, Mac OS X, OS/2, Amiga, PalmOS, celulares Nokia etc. ... interpretada (máquina virtual + bytecode).
  9. 9. Na prática funciona assim Python é... ... orientada a objetos , mas também com suporte aos paradigmas estruturado e funcional . ... dinamicamente tipada , porém com tipagem forte . ... multiplataforma . Roda em Unix/Linux, Windows, Mac OS X, OS/2, Amiga, PalmOS, celulares Nokia etc. ... interpretada (máquina virtual + bytecode).
  10. 10. Na prática funciona assim Python é... ... orientada a objetos , mas também com suporte aos paradigmas estruturado e funcional . ... dinamicamente tipada , porém com tipagem forte . ... multiplataforma . Roda em Unix/Linux, Windows, Mac OS X, OS/2, Amiga, PalmOS, celulares Nokia etc. ... interpretada (máquina virtual + bytecode).
  11. 11. Na prática funciona assim Python é... ... orientada a objetos , mas também com suporte aos paradigmas estruturado e funcional . ... dinamicamente tipada , porém com tipagem forte . ... multiplataforma . Roda em Unix/Linux, Windows, Mac OS X, OS/2, Amiga, PalmOS, celulares Nokia etc. ... interpretada (máquina virtual + bytecode).
  12. 12. Na prática funciona assim Python possui... ...ambiente interativo .
  13. 13. Python já vem com pilhas A biblioteca padrão do Python (Python Standard Library) possui praticamente todos os recursos necessários para desenvolver aplicações com as mais variadas finalidades. Interfaces gráficas, XML, TCP, HTTP, SMTP, HTML, XML-RPC... basta abrir a embalagem e sair usando !
  14. 14. Casos de sucesso Algumas empresas que usam Python em diversas aplicações
  15. 15. O Zen do Python 2) Leia com atenção o resultado do comando e reflita. Lição de casa 1) Experimente digitar no prompt do interpretador interativo: >>> import this
  16. 16. Comentários # Todo o texto entre um símbolo # e o final de uma linha é considerado um comentário.
  17. 17. Indentação A indentação possui papel fundamental em Python, pois é ela que delimita os blocos de código . É isso mesmo: nada de begin e end ou de { e } .
  18. 18. Identificadores <ul><li>Devem começar sempre com uma letra ou sublinhado (“_”) seguido de letras, dígitos ou sublinhado (“_”).
  19. 19. Maiúsculas e minúsculas são distintas entre si ( case-sensitive ) </li></ul>
  20. 20. Operadores < menor <= menor ou igual == igual <ul><ul><li>Comparação </li></ul></ul>> maior >= maior ou igual != diferente
  21. 21. Operadores <ul><ul><li>Lógicos </li></ul></ul>and , or e not <ul><ul><li>Atribuição </li></ul></ul>= <ul><ul><li>Presença em seqüências </li></ul></ul>in <ul><ul><li>Substituição em strings </li></ul></ul>%
  22. 22. Estruturas de controle if ... elif ... else
  23. 23. Estruturas de controle for
  24. 24. Tipos numéricos <ul><li>Inteiros </li></ul><ul><li>Booleanos </li></ul><ul><ul><li>Objetos avaliados como False em Python </li><ul><li>Conjuntos vazios: [], (), {}
  25. 25. Número 0
  26. 26. None </li></ul></ul></ul>
  27. 27. Tipos numéricos <ul><li>Ponto flutuante </li></ul><ul><li>Complexos </li></ul>
  28. 28. Strings <ul><li>Sequências de caracteres
  29. 29. Imutáveis
  30. 30. Delimitadas por aspas simples (' ') ou duplas (“”) </li></ul>
  31. 31. Strings <ul><li>Métodos principais </li><ul><li>.lower()
  32. 32. .upper()
  33. 33. .replace()
  34. 34. .split()
  35. 35. .join() </li></ul><li>Manipulação </li><ul><li>Slicing </li></ul></ul>
  36. 36. Listas <ul>[ ] </ul>
  37. 37. Listas <ul><li>Conjuntos ordenados cujos itens são acessíveis por índices numéricos
  38. 38. Podem ser heterogêneas
  39. 39. São mutáveis, seus valores podem ser alterados, assim como a lista pode crescer ou diminuir </li></ul>
  40. 40. Listas <ul><li>Métodos principais: </li><ul><li>.append()
  41. 41. .count()
  42. 42. .extend()
  43. 43. .insert()
  44. 44. .pop()
  45. 45. .remove()
  46. 46. .reverse()
  47. 47. .sort() </li></ul></ul>
  48. 48. Listas <ul><li>Slicing </li></ul>
  49. 49. Dicionários <ul>{ } </ul>
  50. 50. Dicionários <ul><li>Conjuntos mutáveis e heterogêneos de objetos, como as listas.
  51. 51. O acesso e manipulação de seus elementos, porém, é feito por índices arbitrários, não necessariamente numéricos.
  52. 52. Tais índices são chamados de chaves do dicionário e necessitam ser objetos imutáveis
  53. 53. Funcionam como mapas </li></ul>
  54. 54. Dicionários <ul><li>Métodos principais: </li><ul><li>.keys()
  55. 55. .values()
  56. 56. .get()
  57. 57. .has_key()
  58. 58. .pop() </li></ul></ul>
  59. 59. Orientação a Objetos <ul><li>Funções </li><ul><li>Entradas (parâmetros) </li><ul><li>Posicionais (obrigatórios)
  60. 60. Nomeados (opcionais) </li></ul><li>Saídas (return) </li></ul><li>Classes </li><ul><li>Fôrma para instâncias
  61. 61. Atributos
  62. 62. Métodos
  63. 63. Herança </li></ul></ul>
  64. 64. Funções Declarando uma função simples
  65. 65. Funções Função com valor de argumento padrão ( default )
  66. 66. Funções Função com conjunto de argumentos posicionais
  67. 67. Funções Função com conjunto de argumentos nomeados
  68. 68. Para saber mais Site Oficial www.python.org Documentação docs.python.org Grupo de Discussão comp.lang.python IRC #python @ irc.freenode.net
  69. 69. No Brasil Site Oficial www.python.org.br Associação Python Brasil associacao.python.org.br Lista de Discussão br.groups.yahoo.com/group/python-brasil IRC #python-br @ irc.freenode.org
  70. 70. Python User Group de Sergipe - PUG-SE http://groups.google.com/group/pug-se http://is.gd/PythonSergipe
  71. 71. Créditos <ul><li>Guido van Rossum </li><ul><li>http://www.python.org/doc/essays/ppt/hp-training/index.htm </li></ul><li>Gustavo Barbieri </li><ul><li>http://palestras.gustavobarbieri.com.br/python-5hs/ </li></ul><li>Osvaldo Santana </li><ul><li>http://www.slideshare.net/osantana/python-para-programadores/ </li></ul><li>Async Open Source </li><ul><li>http://www.async.com.br/projects/python/pnp/ </li></ul></ul>
  72. 72. Obrigado!

×