Top Banner
O Canivete Suíço do Python Douglas Soares de Andrade
35

Canivete suíço do Python

Dec 18, 2014

Download

Technology

Slides da Palestra "Canivete suíço do Python" no FISL12.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Canivete suíço do Python

O Canivete Suíço do Python

Douglas Soares de Andrade

Page 2: Canivete suíço do Python
Page 3: Canivete suíço do Python

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

Page 4: Canivete suíço do Python

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 =)

Page 5: Canivete suíço do Python

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)

Page 6: Canivete suíço do Python

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

Page 7: Canivete suíço do Python

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ê.”

Page 8: Canivete suíço do Python

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 ?

Page 9: Canivete suíço do 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

Page 10: Canivete suíço do 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

Page 11: Canivete suíço do Python

O Canivete Suíço do Python

Baterias Inclusas(E algumas dicas legais)

Page 12: Canivete suíço do Python

O Canivete Suíço do Python

Básico - Strings

Adicionar zeros a uma string numérica:

Page 13: Canivete suíço do Python

O Canivete Suíço do Python

Básico - Strings

Trocar caracteres de um texto:

Page 14: Canivete suíço do Python

O Canivete Suíço do Python

Básico - Strings

Trocar caracteres de um texto:

Page 15: Canivete suíço do Python

O Canivete Suíço do Python

Básico - Strings

BONUS POINTS !!! Trocar caracteres de um texto:

Page 16: Canivete suíço do Python

O Canivete Suíço do Python

Básico - Strings

Substituições de textos maiores:

Page 17: Canivete suíço do Python

O Canivete Suíço do Python

Básico - Strings

Substituições de textos maiores:

Page 18: Canivete suíço do Python

O Canivete Suíço do Python

Básico - Números

Validar se um valor é numérico:

Page 19: Canivete suíço do Python

O Canivete Suíço do Python

Básico - Números

Frações:

BONUS POINTS ! Divisão:

Page 20: Canivete suíço do Python

O Canivete Suíço do Python

Básico - Sets

Retornar os valores únicos de uma lista de elementos:

Page 21: Canivete suíço do Python

O Canivete Suíço do Python

Collections - CounterContainer que mantém um controle de quantas vezes um elemento equivalente foi adicionado

Page 22: Canivete suíço do Python

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

Page 23: Canivete suíço do Python

O Canivete Suíço do Python

CollectionsNamedtuple

Page 24: Canivete suíço do Python

O Canivete Suíço do Python

Collections - ordereddictDicionários que 'sabem' a ordem em que seus elementos foram inseridos

Page 25: Canivete suíço do Python

O Canivete Suíço do Python

Collections - ordereddictDicionários que 'sabem' a ordem em que seus elementos foram inseridos

Page 26: Canivete suíço do Python

O Canivete Suíço do Python

GeraisGenerator e Set expressions (dica de performance)

Page 27: Canivete suíço do Python

O Canivete Suíço do Python

Gerais - Any

Testar se ao menos um dos elementos satisfaz determinada condição

Page 28: Canivete suíço do Python

O Canivete Suíço do Python

Gerais - textwrap

Ajuda a manter a sanidade de stringscom aspas triplas

Page 29: Canivete suíço do Python

O Canivete Suíço do Python

Gerais - textwrap

Ajuda a manter a sanidade de stringscom aspas triplas

Page 30: Canivete suíço do Python

O Canivete Suíço do Python

Gerais - cmd

Processador de comandos simples

Page 31: Canivete suíço do Python

O Canivete Suíço do Python

Gerais

Servir arquivos de um diretório da máquina

Page 32: Canivete suíço do Python

O Canivete Suíço do Python

Gerais

Auto completar no terminal (sem ipython)

Page 33: Canivete suíço do Python

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● ...

Page 34: Canivete suíço do Python

O Canivete Suíço do Python

Page 35: Canivete suíço do Python

O Canivete Suíço do Python

Contato:

Douglas Soares de AndradeEmail : [email protected]: @douglasandradeGithub: @dsarch

Muito Obrigado =)