O documento apresenta uma palestra sobre Python. Ele introduz o palestrante e discute o que é Python, quem o usa e suas principais características como tipos de dados poderosos e software livre. Em seguida, exemplifica vários recursos básicos de Python como strings, números e sets e coleções como Counter e Namedtuple. Por fim, lista outros tópicos interessantes para futuras discussões.
3. O Canivete Suíço do Python
Conteúdo da Apresentação
● Introdução
● Sobre a palestra
● O que é Python ?
● Quem usa ?
● Convenções utilizadas na palestra
● Baterias inclusas
4. O Canivete Suíço do Python
Introdução (Douglas)
● Desenvolvedor na Dataprev
● Python
● Zope e Plone
● PHP (wordpress, drupal)
● Participante de vários projetos de SL
● Archlinux (Desenvolvedor, TU, Mantenedor de pacotes)
● Web2py
● Plone Collective
● Py (ops, pai) de três lindas crianças =)
5. O Canivete Suíço do Python
E vocês ?
● Quem já ouviu falar em Python ?
● Alguém trabalha com desenvolvimento de sistemas ?
● Alguém trabalha com Python ?
● Alguém já viu algum código Python e pensou:
(pra não dizer outra coisa)
“Será que dá pra fazer
isso melhor ?!”
6. O Canivete Suíço do Python
Sobre a palestra
● Não é um mão-na-massa de Python
● Não é uma batalha de pythonismos
● Exemplos simples, concisos e didáticos
● Baterias inclusas
● Além de tudo, é uma palestra sobre...
7. O Canivete Suíço do Python
“Não perguntar o que
você pode fazer por
Python, mas sim o que
Python pode fazer por
você.”
8. O Canivete Suíço do Python
O que é Python ?
● Iniciada em 1990 por Guido Van Rossum no CWI para
ser a linguagem de script do sistema operacional
distribuído AMOEBA.
● Inspirada pela linguagem ABC, criada também no
CWI, que era uma linguagem de programação para
usuários avançados em computação mas que não eram
programadores.
● Nome vem do grupo humorístico Monty Python, do
qual Guido é fan
9. O Canivete Suíço do Python
Muito prazer, meu nome é Python
● Pode ser usada interativamente
● Tipos de dados básicos poderosos
● Baterias Inclusas
● Software Livre
● Os blocos são controlados por indentação
● Tudo é objeto
● É simples e transparente
● Ajuda o programador
● Comunidade de programadores
apaixonados
10. O Canivete Suíço do Python
Convenções utilizadas
>>> Interpretador de Python
... Bloco lógico
$ Indica que o comando foi executado em um shell
11. O Canivete Suíço do Python
Baterias Inclusas
(E algumas dicas legais)
12. O Canivete Suíço do Python
Básico - Strings
Adicionar zeros a uma string numérica:
13. O Canivete Suíço do Python
Básico - Strings
Trocar caracteres de um texto:
14. O Canivete Suíço do Python
Básico - Strings
Trocar caracteres de um texto:
15. O Canivete Suíço do Python
Básico - Strings
BONUS POINTS !!! Trocar caracteres de um texto:
16. O Canivete Suíço do Python
Básico - Strings
Substituições de textos maiores:
17. O Canivete Suíço do Python
Básico - Strings
Substituições de textos maiores:
18. O Canivete Suíço do Python
Básico - Números
Validar se um valor é numérico:
19. O Canivete Suíço do Python
Básico - Números
Frações:
Divisão: BONUS POINTS !
20. O Canivete Suíço do Python
Básico - Sets
Retornar os valores únicos de uma lista de elementos:
21. O Canivete Suíço do Python
Collections - Counter
Container que mantém um controle de quantas vezes um elemento
equivalente foi adicionado
22. O Canivete Suíço do Python
Collections - Namedtuple
Facilita o acesso a elementos de uma tupla, permitindo a atribuição de um
nome para os atributos
24. O Canivete Suíço do Python
Collections - ordereddict
Dicionários que 'sabem' a ordem em que seus elementos foram inseridos
25. O Canivete Suíço do Python
Collections - ordereddict
Dicionários que 'sabem' a ordem em que seus elementos foram inseridos
26. O Canivete Suíço do Python
Gerais
Generator e Set expressions (dica de performance)
27. O Canivete Suíço do Python
Gerais - Any
Testar se ao menos um dos elementos satisfaz determinada condição
28. O Canivete Suíço do Python
Gerais - textwrap
Ajuda a manter a
sanidade de strings
com aspas triplas
29. O Canivete Suíço do Python
Gerais - textwrap
Ajuda a manter a
sanidade de strings
com aspas triplas
30. O Canivete Suíço do Python
Gerais - cmd
Processador de comandos simples
31. O Canivete Suíço do Python
Gerais
Servir arquivos de um diretório da máquina
32. O Canivete Suíço do Python
Gerais
Auto completar no terminal (sem ipython)
33. O Canivete Suíço do Python
O que é interessante, mas fica pra próxima
● Aspectos funcionais de Python
● map
● filter
● reduce
● lambda
● Outros módulos que vocês devem checar
● Itertools (Ferramentas para trabalhar com iteráveis)
● Functools (Ferramentas para trabalhar com funções para adapta-las ou extende-
las)
● Documentação do comando set (tem muita coisa bacana lá)
● Serialização: json e cPickle
● pprint: Imprimir estruturas de dados de modo elegante
● Módulos e programas fora da stdlib que são sensacionais
● ipython
● bpython
● see
● ...
35. O Canivete Suíço do Python
Contato:
Douglas Soares de Andrade
Email : dsandrade@gmail.com
Twitter: @douglasandrade
Github: @dsarch
Muito Obrigado =)