Python é uma linguagem de programação de alto nível, interpretada e interativa. Foi criada por Guido van Rossum no início dos anos 1990 e atualmente está na versão 3.4.1. Pode ser usada para diversos fins como desenvolvimento web, ciência, inteligência artificial, entre outros. A linguagem é orientada a objetos, dinâmica e fortemente tipada.
Criação de log de ações através do banco - PostgreSQL
Python Introdução
1. Marcos Thomaz da Silva
marcosthomazs@gmail.com
twitter: @marcosthomazs
Conhecendo Python
Rio Branco-AC, 08 de outubro de 2014
2. • Criada por Guido van Rossun no Instituto de Pesquisa Nacional para
Matemática e Ciência da Computação de Amsterdam;
• Lançada em 1991;
• Linguagem de alto nível;
• Interpretada e Interativa;
• Gera bytecodes (pyc, pyo);
• Focada na facilidade de manutenção e produtividade;
• Atualmente em sua versão 3.4.1
• Case sensitive;
• “Monty Python Flying Circus”;
Python
11. • Frequentemente vista como linguagem de "scripts“;
• Mas não é bem assim! Vejamos!
Python – Pra que serve mesmo?
12. • Geração de scripts;
▫ Suporte a administradores de redes;
▫ Serviços de manutenção a Grandes e Escaláveis servidores;
▫ Processamento de arquivos;
• Acesso a bancos de dados;
▫ Suporte a praticamente todos os bancos de dados (SQLite3, PostgreSQL,
MySQL, Oracle, DB2, SQLServer, MongoDB, Redis, Cassandra, Firebird, etc).
Onde / quando usar python
13. • Desenvolvimento Desktop;
▫ Tinter;
▫ GTK;
▫ QT/PySide;
▫ wxWindows;
▫ Kivy;
▫ PyGame;
▫ Kiwi;
• Diversos Editores de Código;
▫ Pagos: Pycharm, Sublime Text, Komodo, WingIDE, Ninja IDE;
▫ Livres: PyDev (Eclipse), Eric, Pida, Boa-Constructor, Notepad++, Vim;
Onde / quando usar python
14. • Área Científica:
▫ Scipy;
▫ NumPy;
▫ BioPython;
• Aplicações de GeoReferenciamento/Geoprocessamento:
▫ Mapproxy;
▫ GeoDjango;
▫ Gdal;
• Inteligência Artificial;
▫ SciKit;
▫ SimpleAI;
Onde / quando usar python
15. • Machine Learning;
▫ PyBrain;
▫ PyML;
• Linguagem Natural e Processamento de Texto;
▫ NLTK;
▫ Quepy;
• Redes Neurais;
▫ neurolab;
▫ PyAnn
Onde / quando usar python
16. • Mineração / Análise de Dados;
▫ Pandas
• Tratamento de Imagens;
▫ Básico/Intermediário
PIL;
▫ Avançado
NumPy
SciPy
• Big Data:
▫ Hadoop;
Onde / quando usar python
17. • Desenvolvimento web
▫ Frameworks
Django;
Pyramid;
Web2Py;
Zope;
Grok;
▫ Microframeworks;
Flask;
Bottle;
▫ Outros
Google App Engine (GAE);
Onde / quando usar python
18. • Ferramenta de Gerenciamento de Conteúdo;
▫ Plone;
▫ Opps;
▫ Mezzanine;
• Gestão Empresarial e Desenvolvimento de ERP’s:
▫ OpenERP;
▫ Stoq;
• Desenvolvimento de Jogos:
▫ PyGame;
▫ PyOpenGL;
Onde / quando usar python
21. • Windows
▫ Fazer o Download dos binários e seguir a “filosofia” NNF
• Linux e MacOS
▫ Já vem pré-instalado por padrão.
Instalação
22. • Através de Binários de Instalação;
• Compilando Código-Fonte; ou
• Através de um gerenciador de Pacotes. (Recomendado)
pip install django
easy_install django
Instalação de Pacotes e Módulos Extras
33. • Pra variar....
Um pouco de código
• Invertendo variáveis
• Melhorando um pouco o
código anterior
• Código anterior, mais “pythônico”
34. Um pouco de código
• Leia um número, e diga se ele
é par ou ímpar
<variavel >= <valorSeVerdadeiro >if <Condição> else <valorSeFalso>
# <variavel> = <valorVerdadeiro> SE <condição for verdadeira> SENÃO <valorFalso>
<variavel> = <condição> ? <valorSeVerdadeiro> : <valorSeFalso>;
35. Um pouco de código
• Ler uma palavra e imprimi-la ao inverso (por exemplo OI apareceria IO).
• Ler o nome da pessoa e mostre suas iniciais ( lembrando que no nome
Manoel dos Anjos, as iniciais são apenas MA, desconsiderando a palavra
“dos” )
36. Um pouco de código
• Claro que o código anterior ficou um pouco confuso, mas a simplicidade da linguagem
permite que a instrução, mesmo com certa complexidade, seja criada em poucas linhas de
código (no caso uma)
37. Um pouco de código
• Ler 3 inteiros N1, N2 e N3 e diga qual é o maior.
• Criar uma função para dizer se um número é primo ou não.
38. Um pouco de código
• Criar uma função que verifique se duas strings são anagramas, por
exemplo, a palavra “casa”, tem como anagramas “saca” e “asca”.(P4Z)
• Crie uma função que, supondo que uma lata de tinta pinte 54m², dada
uma metragem, retorne a quantidade de latas de tinta necessárias. (P4Z)
* P4Z – Exercícios da lista do curso Python 4 Zombies
39. • Ler o conteúdo do arquivo alunos.txt e imprima os nomes da tela,
organizando por ordem alfabética, e numerando os nomes listados.
Um pouco de código
40. Um pouco de código
• Criar uma função que conte quantas vezes aparece a palavra “code” na
palavra informada, sendo que a letra “d” pode ser trocada por qualquer outra,
assim, as palavras “coze”, “cote” seriam contadas também. Por exemplo, na
palavra “aaacodebbb” seria retornado 1, na palavra “acodebbbcodem” seria
retornado 2, assim como na palavra “cozehhhcode1”.
41. Orientação a Objetos
• Temos uma classe Pessoa e as classes Gerente e Vendedor (que são uma
especialização de Pessoa). Na classe Gerente temos o método
autorizaVenda, e na classe Vendedor temos o método realizaVenda. O
que fazer se precisarmos criar um cargo que realize as vendas e as
autorize ao mesmo tempo, mantendo também a estrutura atual?
45. Sobrecarga de Operadores – Exemplo 2
• No mundo real, temos os
alunos e, ao
matricularmos esses
alunos em uma
determinada turma,
estamos adicionando-os
nessa turma.
54. “... nossa filosofia geral é ‘Python onde podemos, C++ onde somos
obrigados.’ Python não é definitivamente apenas um pequeno pedaço,
nem é usado apenas para tarefas ‘de scripting’; se ficássemos sem todo
nosso código Python de uma hora para outra, nossa poderosa infra-
estrutura que tem sido descrita como ‘a arma secreta do Google’ ficaria
abalada”
Alex Martinalli, Lider Técnico,
Sistemas de Produção, Google Inc.
55. • Linguagem simples, elegante e poderosa;
• Fácil de aprender;
• Pode ser usada para resolver uma grande variedade de problemas;
• Incentiva a escrita de código de forma correta;
• É muito produtiva;
• Possui shell interativo;
• Comunidade muito ativa e prestativa;
• Porque é divertido; e
• Porque SIM!
Porque Python?