canivete suíço do python
DESCRIPTION
Slides da Palestra "Canivete suíço do Python" no FISL12.TRANSCRIPT
O Canivete Suíço do Python
Douglas Soares de Andrade
O Canivete Suíço do Python
● Introdução● Sobre a palestra● O que é Python ?● Quem usa ?● Convenções utilizadas na palestra● Baterias inclusas
Conteúdo da Apresentação
O Canivete Suíço do Python
● Desenvolvedor na Dataprev● Python● Zope e Plone● PHP (wordpress, drupal)
Introdução (Douglas)
● 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 =)
O Canivete Suíço do Python
E vocês ?
● Quem já ouviu falar em Python ?
“Será que dá pra fazer isso melhor ?!”
● 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)
O Canivete Suíço do Python
Sobre a palestra
● Além de tudo, é uma palestra sobre...
● Não é um mão-na-massa de Python
● Não é uma batalha de pythonismos
● Exemplos simples, concisos e didáticos
● Baterias inclusas
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ê.”
O Canivete Suíço do 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
O que é Python ?
O Canivete Suíço do 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
Muito prazer, meu nome é Python
O Canivete Suíço do Python
>>> Interpretador de Python... Bloco lógico
$ Indica que o comando foi executado em um shell
Convenções utilizadas
O Canivete Suíço do Python
Baterias Inclusas(E algumas dicas legais)
O Canivete Suíço do Python
Básico - Strings
Adicionar zeros a uma string numérica:
O Canivete Suíço do Python
Básico - Strings
Trocar caracteres de um texto:
O Canivete Suíço do Python
Básico - Strings
Trocar caracteres de um texto:
O Canivete Suíço do Python
Básico - Strings
BONUS POINTS !!! Trocar caracteres de um texto:
O Canivete Suíço do Python
Básico - Strings
Substituições de textos maiores:
O Canivete Suíço do Python
Básico - Strings
Substituições de textos maiores:
O Canivete Suíço do Python
Básico - Números
Validar se um valor é numérico:
O Canivete Suíço do Python
Básico - Números
Frações:
BONUS POINTS ! Divisão:
O Canivete Suíço do Python
Básico - Sets
Retornar os valores únicos de uma lista de elementos:
O Canivete Suíço do Python
Collections - CounterContainer que mantém um controle de quantas vezes um elemento equivalente foi adicionado
O Canivete Suíço do Python
Collections - NamedtupleFacilita o acesso a elementos de uma tupla, permitindo a atribuição de um nome para os atributos
O Canivete Suíço do Python
CollectionsNamedtuple
O Canivete Suíço do Python
Collections - ordereddictDicionários que 'sabem' a ordem em que seus elementos foram inseridos
O Canivete Suíço do Python
Collections - ordereddictDicionários que 'sabem' a ordem em que seus elementos foram inseridos
O Canivete Suíço do Python
GeraisGenerator e Set expressions (dica de performance)
O Canivete Suíço do Python
Gerais - Any
Testar se ao menos um dos elementos satisfaz determinada condição
O Canivete Suíço do Python
Gerais - textwrap
Ajuda a manter a sanidade de stringscom aspas triplas
O Canivete Suíço do Python
Gerais - textwrap
Ajuda a manter a sanidade de stringscom aspas triplas
O Canivete Suíço do Python
Gerais - cmd
Processador de comandos simples
O Canivete Suíço do Python
Gerais
Servir arquivos de um diretório da máquina
O Canivete Suíço do Python
Gerais
Auto completar no terminal (sem ipython)
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● ...
O Canivete Suíço do Python
O Canivete Suíço do Python
Contato:
Douglas Soares de AndradeEmail : [email protected]: @douglasandradeGithub: @dsarch
Muito Obrigado =)