SlideShare uma empresa Scribd logo
1 de 57
Marcos Thomaz da Silva
marcosthomazs@gmail.com
twitter: @marcosthomazs
Conhecendo Python
Rio Branco-AC, 08 de outubro de 2014
• 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
• Multiplataforma;
Python
Python
• Endentação como delimitador de blocos;
• Possui Interpretador Interativo;
Python
• Tipagem dinâmica e forte;
Python
• Orientada a Objetos;
▫ Herança (inclusive herança múltipla);
▫ Polimorfismo;
▫ Suporte a metaclasses;
• Tratamento de Exceções;
• Sem tipos primitivos;
• Introspecção (Reflection);
• Multiparadigma;
Python
• Sobrecarga de operadores;
Python
• Jython
• CPython
• IronPython
• PyPy
• PyObjC (Mac OSX middleware)
• Python for Delphi
• Brython
Python - Interoperabilidade
Publico Alvo
Ideia copiada do colega Christiano Anderson (@dump)
• Frequentemente vista como linguagem de "scripts“;
• Mas não é bem assim! Vejamos!
Python – Pra que serve mesmo?
• 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
• 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
• Área Científica:
▫ Scipy;
▫ NumPy;
▫ BioPython;
• Aplicações de GeoReferenciamento/Geoprocessamento:
▫ Mapproxy;
▫ GeoDjango;
▫ Gdal;
• Inteligência Artificial;
▫ SciKit;
▫ SimpleAI;
Onde / quando usar python
• Machine Learning;
▫ PyBrain;
▫ PyML;
• Linguagem Natural e Processamento de Texto;
▫ NLTK;
▫ Quepy;
• Redes Neurais;
▫ neurolab;
▫ PyAnn
Onde / quando usar python
• 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
• Desenvolvimento web
▫ Frameworks
Django;
Pyramid;
Web2Py;
Zope;
Grok;
▫ Microframeworks;
Flask;
Bottle;
▫ Outros
Google App Engine (GAE);
Onde / quando usar python
• 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
• Animações 3D;
▫ Blender;
• Aplicativos Móveis (Celulares, Tablets);
▫ PyS60;
▫ Kivy;
• Geração de Relatórios / PDF;
▫ ReportLab;
▫ GeraldoReports (BR);
• Programação Assíncrona;
▫ Integração com NodeJS
▫ Tornado;
▫ Twisted;
Onde / quando usar python
• Testes de Código, Unitários: DocTests, BDD, TDD, Selenium;
• Persistência de Dados;
▫ ORM: DjangoORM, SQLAlchemy;
▫ DAL: web2py DAL, dal;
• Geração de Documentação: PyDoc, Sphynx, Django-extensions;
• Reconhecimento Facial: OpenCV, SimpleCV;
• Muitos Outros.
▫ Integração com BROffice e MS Office ©, tratamento de arquivos (Json,
Yaml, XML, csv, txt), robótica (pyRobotics), desenv. para Raspberry PI,
sensores, Análise Digital de Sinais, tipografia, análise de sentimento social,
gerenciadores de pacotes (easy_install, pip);
Onde / quando usar python
• Windows
▫ Fazer o Download dos binários e seguir a “filosofia” NNF
• Linux e MacOS
▫ Já vem pré-instalado por padrão.
Instalação
• 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
Python – Quem usa?
Python – Quem Usa
Python – Quem Usa
Python – site www.python.org
Python – site: www.python.org.br
• int, long, float, complex, Decimal: 1, 2, 10000L, 10.5, 20j, “20.05”
• str: “Oi”, ‘mundo’, ‘a’, “b”, ‘’’Teste’’’, ‘Oi ‘+” Mundo”, “ha”*3
• boolean: True, False;
• date, time, datetime, timestamp: date(2014,10,8), time(19,00)
• list (array), dict, tuple; [1,2,3, ‘A’, 12.5], {‘a’:5, ‘b’:9}, (‘a’,’b’,’c’,4,5)
• None;
• regex: r’^[F][amet]{4}[a]$’, r’^d{3}.d{3}.d{3}-d{2}’;
Tipos de Dados (Básicos)
• Aritméticos: +, -, *, /, **, %, //
• Lógicos: and, or, not, is, is not
• Binários: >> , <<
• Atribuição: “=“, “+=“, “-=“, “*=“, “/=“
• Condição: “==“, “!=“, “>”, “<“, “>=“, “<=“, “in”
Operadores
• for
for i in ‘Fameta’:
print(i)
• while
p = ‘Fameta’
i = 0
while i<len(p):
print(p[i])
i += 1
Controles de Fluxo
• if..elif
if dia == 8:
print(“Hoje é dia 8”)
elif dia == 7:
print(“Hoje é dia 7”)
else:
print(“ Hoje não é dia 7 nem dia 8”)
Outros
• Muito bom mas...
•E O CÓDIGO???
• Pra variar....
Um pouco de código
• Invertendo variáveis
• Melhorando um pouco o
código anterior
• Código anterior, mais “pythônico”
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>;
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” )
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)
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.
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
• 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
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”.
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?
Sobrecarga de Operadores – Exemplo 1
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.
Sobrecarga de Operadores – Exemplo 2
Python e MongoDB
Python e PostgreSQL
Python / Django ORM
Python, Django e MapProxy
Python no Desktop
PyGame
Python (Blender)
“... 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.
• 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?
• https://www.python.org/
• https://www.python.org.br/
• http://ericstk.wordpress.com/2014/09/30/python-powered-coisas-que-
python-pode-fazer-e-voce-nao-sabia/
• http://erichideki.github.io/video-aulas-gratuitas/
• https://www.djangoproject.com/
• http://pingmind.com/classes/142/announcements/
Links Interessantes
Obrigado!
Dúvidas??

Mais conteúdo relacionado

Mais procurados

Introdução às Finanças Corporativas.pdf
Introdução às Finanças Corporativas.pdfIntrodução às Finanças Corporativas.pdf
Introdução às Finanças Corporativas.pdfAntonioCarlosMarques20
 
Teoria da contabilidade i exercicios contabilidade ativo gabarito
Teoria da contabilidade i exercicios contabilidade ativo gabaritoTeoria da contabilidade i exercicios contabilidade ativo gabarito
Teoria da contabilidade i exercicios contabilidade ativo gabaritogabaritocontabil
 
Administração da produção
Administração da produçãoAdministração da produção
Administração da produçãomilton junior
 
Aula 3 gestão de operações
Aula 3  gestão de operaçõesAula 3  gestão de operações
Aula 3 gestão de operaçõesdianafpc
 
Análise por Indicadores Tradicionais - Parte 1
Análise por Indicadores Tradicionais - Parte 1Análise por Indicadores Tradicionais - Parte 1
Análise por Indicadores Tradicionais - Parte 1Felipe Pontes
 
Orçamento de Capital e VPL
Orçamento de Capital e VPLOrçamento de Capital e VPL
Orçamento de Capital e VPLFelipe Pontes
 
Capítulo 09 - Comércio eletrônico: mercados digitais, mercadorias digitais
Capítulo 09 - Comércio eletrônico: mercados digitais, mercadorias digitaisCapítulo 09 - Comércio eletrônico: mercados digitais, mercadorias digitais
Capítulo 09 - Comércio eletrônico: mercados digitais, mercadorias digitaisEverton Souza
 
A automação nos processos e sistemas logísticos
A automação nos processos e sistemas logísticosA automação nos processos e sistemas logísticos
A automação nos processos e sistemas logísticosRafaella Belchior
 
강화학습 해부학 교실: Rainbow 이론부터 구현까지 (2nd dlcat in Daejeon)
강화학습 해부학 교실: Rainbow 이론부터 구현까지 (2nd dlcat in Daejeon)강화학습 해부학 교실: Rainbow 이론부터 구현까지 (2nd dlcat in Daejeon)
강화학습 해부학 교실: Rainbow 이론부터 구현까지 (2nd dlcat in Daejeon)Kyunghwan Kim
 
Aula 2 - Introdução à programação de computadores - parte 2
Aula 2 - Introdução à programação de computadores - parte 2Aula 2 - Introdução à programação de computadores - parte 2
Aula 2 - Introdução à programação de computadores - parte 2Pacc UAB
 
Workshop Gestão Legal de Alta Performance
Workshop Gestão Legal de Alta PerformanceWorkshop Gestão Legal de Alta Performance
Workshop Gestão Legal de Alta PerformanceLara Selem
 
Plano de aula custos da produção
Plano de aula   custos da produçãoPlano de aula   custos da produção
Plano de aula custos da produçãoDaniel Moura
 
01 - Introdução a lógica de programação - v1.4
01 - Introdução a lógica de programação - v1.401 - Introdução a lógica de programação - v1.4
01 - Introdução a lógica de programação - v1.4César Augusto Pessôa
 
Aula 5 - Estruturas de seleção simples e composta - parte 1
Aula 5 - Estruturas de seleção simples e composta - parte 1Aula 5 - Estruturas de seleção simples e composta - parte 1
Aula 5 - Estruturas de seleção simples e composta - parte 1Pacc UAB
 
Aprenda a precificar seu produto ou serviço
Aprenda a precificar seu produto ou serviçoAprenda a precificar seu produto ou serviço
Aprenda a precificar seu produto ou serviçoLUZPlanilhas
 
Internet das Coisas e a Indústria 4.0
Internet das Coisas e a Indústria 4.0Internet das Coisas e a Indústria 4.0
Internet das Coisas e a Indústria 4.0Dalton Valadares
 

Mais procurados (20)

Python - Introdução
Python - IntroduçãoPython - Introdução
Python - Introdução
 
Introdução às Finanças Corporativas.pdf
Introdução às Finanças Corporativas.pdfIntrodução às Finanças Corporativas.pdf
Introdução às Finanças Corporativas.pdf
 
Teoria da contabilidade i exercicios contabilidade ativo gabarito
Teoria da contabilidade i exercicios contabilidade ativo gabaritoTeoria da contabilidade i exercicios contabilidade ativo gabarito
Teoria da contabilidade i exercicios contabilidade ativo gabarito
 
Administração da produção
Administração da produçãoAdministração da produção
Administração da produção
 
Fluxos logísticos
Fluxos logísticosFluxos logísticos
Fluxos logísticos
 
Aula 3 gestão de operações
Aula 3  gestão de operaçõesAula 3  gestão de operações
Aula 3 gestão de operações
 
Análise por Indicadores Tradicionais - Parte 1
Análise por Indicadores Tradicionais - Parte 1Análise por Indicadores Tradicionais - Parte 1
Análise por Indicadores Tradicionais - Parte 1
 
Orçamento de Capital e VPL
Orçamento de Capital e VPLOrçamento de Capital e VPL
Orçamento de Capital e VPL
 
Capítulo 09 - Comércio eletrônico: mercados digitais, mercadorias digitais
Capítulo 09 - Comércio eletrônico: mercados digitais, mercadorias digitaisCapítulo 09 - Comércio eletrônico: mercados digitais, mercadorias digitais
Capítulo 09 - Comércio eletrônico: mercados digitais, mercadorias digitais
 
A automação nos processos e sistemas logísticos
A automação nos processos e sistemas logísticosA automação nos processos e sistemas logísticos
A automação nos processos e sistemas logísticos
 
Programando com Python
Programando com PythonProgramando com Python
Programando com Python
 
강화학습 해부학 교실: Rainbow 이론부터 구현까지 (2nd dlcat in Daejeon)
강화학습 해부학 교실: Rainbow 이론부터 구현까지 (2nd dlcat in Daejeon)강화학습 해부학 교실: Rainbow 이론부터 구현까지 (2nd dlcat in Daejeon)
강화학습 해부학 교실: Rainbow 이론부터 구현까지 (2nd dlcat in Daejeon)
 
Contabilidade Basica
Contabilidade BasicaContabilidade Basica
Contabilidade Basica
 
Aula 2 - Introdução à programação de computadores - parte 2
Aula 2 - Introdução à programação de computadores - parte 2Aula 2 - Introdução à programação de computadores - parte 2
Aula 2 - Introdução à programação de computadores - parte 2
 
Workshop Gestão Legal de Alta Performance
Workshop Gestão Legal de Alta PerformanceWorkshop Gestão Legal de Alta Performance
Workshop Gestão Legal de Alta Performance
 
Plano de aula custos da produção
Plano de aula   custos da produçãoPlano de aula   custos da produção
Plano de aula custos da produção
 
01 - Introdução a lógica de programação - v1.4
01 - Introdução a lógica de programação - v1.401 - Introdução a lógica de programação - v1.4
01 - Introdução a lógica de programação - v1.4
 
Aula 5 - Estruturas de seleção simples e composta - parte 1
Aula 5 - Estruturas de seleção simples e composta - parte 1Aula 5 - Estruturas de seleção simples e composta - parte 1
Aula 5 - Estruturas de seleção simples e composta - parte 1
 
Aprenda a precificar seu produto ou serviço
Aprenda a precificar seu produto ou serviçoAprenda a precificar seu produto ou serviço
Aprenda a precificar seu produto ou serviço
 
Internet das Coisas e a Indústria 4.0
Internet das Coisas e a Indústria 4.0Internet das Coisas e a Indústria 4.0
Internet das Coisas e a Indústria 4.0
 

Semelhante a Palestra Apresentando Python e Suas Aplicações

The zen of python 2010
The zen of python 2010The zen of python 2010
The zen of python 2010Luiz Aldabalde
 
Python - Programando em alto nível
Python - Programando em alto nívelPython - Programando em alto nível
Python - Programando em alto nívelIgor Sobreira
 
Python com baterias incluídas v2.0
Python com baterias incluídas v2.0Python com baterias incluídas v2.0
Python com baterias incluídas v2.0Jonh Edson
 
Python Com Baterias Incluídas
Python Com Baterias IncluídasPython Com Baterias Incluídas
Python Com Baterias IncluídasJonh Edson
 
Desenvolvimento de aplicações embarcadas utilizando Python
Desenvolvimento de aplicações embarcadas utilizando PythonDesenvolvimento de aplicações embarcadas utilizando Python
Desenvolvimento de aplicações embarcadas utilizando PythonFlávio Ribeiro
 
Porque python é legal! d
Porque python é legal!  dPorque python é legal!  d
Porque python é legal! dJoelmir Ribacki
 
O poder do Python/Django
O poder do Python/DjangoO poder do Python/Django
O poder do Python/DjangoÁtila Bezerra
 
Por Que Python - #PUGCE
Por Que Python - #PUGCEPor Que Python - #PUGCE
Por Que Python - #PUGCETiago Freire
 
Extreme Experience 2018 | Python para quem sabe Delphi
Extreme Experience 2018 | Python para quem sabe DelphiExtreme Experience 2018 | Python para quem sabe Delphi
Extreme Experience 2018 | Python para quem sabe DelphiMario Guedes
 
Introdução a linguagem Python
Introdução a linguagem PythonIntrodução a linguagem Python
Introdução a linguagem PythonLuciano Ramalho
 
Python No Terra (2006-12-21)
Python No Terra  (2006-12-21)Python No Terra  (2006-12-21)
Python No Terra (2006-12-21)Rudá Moura
 
Python Pythononcampus Uva 060609
Python Pythononcampus Uva 060609Python Pythononcampus Uva 060609
Python Pythononcampus Uva 060609gsroma
 
Python para programadores Ruby
Python para programadores RubyPython para programadores Ruby
Python para programadores RubyEric Hideki
 
Python Mini Ccurso Consegi2011
Python Mini Ccurso Consegi2011Python Mini Ccurso Consegi2011
Python Mini Ccurso Consegi2011Luiz Aldabalde
 
O que podemos fazer com Python?
O que podemos fazer com Python?O que podemos fazer com Python?
O que podemos fazer com Python?Izabela Guerreiro
 

Semelhante a Palestra Apresentando Python e Suas Aplicações (20)

The zen of python 2010
The zen of python 2010The zen of python 2010
The zen of python 2010
 
Python - Programando em alto nível
Python - Programando em alto nívelPython - Programando em alto nível
Python - Programando em alto nível
 
Canivete python
Canivete pythonCanivete python
Canivete python
 
Python com baterias incluídas v2.0
Python com baterias incluídas v2.0Python com baterias incluídas v2.0
Python com baterias incluídas v2.0
 
Python Com Baterias Incluídas
Python Com Baterias IncluídasPython Com Baterias Incluídas
Python Com Baterias Incluídas
 
Desenvolvimento de aplicações embarcadas utilizando Python
Desenvolvimento de aplicações embarcadas utilizando PythonDesenvolvimento de aplicações embarcadas utilizando Python
Desenvolvimento de aplicações embarcadas utilizando Python
 
Porque python é legal! d
Porque python é legal!  dPorque python é legal!  d
Porque python é legal! d
 
O poder do Python/Django
O poder do Python/DjangoO poder do Python/Django
O poder do Python/Django
 
Por Que Python - #PUGCE
Por Que Python - #PUGCEPor Que Python - #PUGCE
Por Que Python - #PUGCE
 
Extreme Experience 2018 | Python para quem sabe Delphi
Extreme Experience 2018 | Python para quem sabe DelphiExtreme Experience 2018 | Python para quem sabe Delphi
Extreme Experience 2018 | Python para quem sabe Delphi
 
Postgresql +python
Postgresql +pythonPostgresql +python
Postgresql +python
 
Postgre sql +python
Postgre sql +pythonPostgre sql +python
Postgre sql +python
 
Introdução a linguagem Python
Introdução a linguagem PythonIntrodução a linguagem Python
Introdução a linguagem Python
 
Python No Terra (2006-12-21)
Python No Terra  (2006-12-21)Python No Terra  (2006-12-21)
Python No Terra (2006-12-21)
 
Linguagem Python
Linguagem PythonLinguagem Python
Linguagem Python
 
Python Pythononcampus Uva 060609
Python Pythononcampus Uva 060609Python Pythononcampus Uva 060609
Python Pythononcampus Uva 060609
 
Slide
SlideSlide
Slide
 
Python para programadores Ruby
Python para programadores RubyPython para programadores Ruby
Python para programadores Ruby
 
Python Mini Ccurso Consegi2011
Python Mini Ccurso Consegi2011Python Mini Ccurso Consegi2011
Python Mini Ccurso Consegi2011
 
O que podemos fazer com Python?
O que podemos fazer com Python?O que podemos fazer com Python?
O que podemos fazer com Python?
 

Mais de Marcos Thomaz

Hibridização de Métodos Exatos e Heurísticos para a Minimização do Atraso Pon...
Hibridização de Métodos Exatos e Heurísticos para a Minimização do Atraso Pon...Hibridização de Métodos Exatos e Heurísticos para a Minimização do Atraso Pon...
Hibridização de Métodos Exatos e Heurísticos para a Minimização do Atraso Pon...Marcos Thomaz
 
Hydros - Apresentação para Investidores
Hydros - Apresentação para InvestidoresHydros - Apresentação para Investidores
Hydros - Apresentação para InvestidoresMarcos Thomaz
 
Minimax e corte alfa beta
Minimax e corte alfa betaMinimax e corte alfa beta
Minimax e corte alfa betaMarcos Thomaz
 
Curso de PostgreSQL: Um pouco Além dos Comandos
Curso de PostgreSQL: Um pouco Além dos ComandosCurso de PostgreSQL: Um pouco Além dos Comandos
Curso de PostgreSQL: Um pouco Além dos ComandosMarcos Thomaz
 
MongoDB: Uma forma diferente de pensar no desenvolvimento
MongoDB: Uma forma diferente de pensar no desenvolvimento MongoDB: Uma forma diferente de pensar no desenvolvimento
MongoDB: Uma forma diferente de pensar no desenvolvimento Marcos Thomaz
 
Criação de log de ações através do banco
Criação de log de ações através do bancoCriação de log de ações através do banco
Criação de log de ações através do bancoMarcos Thomaz
 
Criação de log de ações através do banco - PostgreSQL
Criação de log de ações através do banco - PostgreSQLCriação de log de ações através do banco - PostgreSQL
Criação de log de ações através do banco - PostgreSQLMarcos Thomaz
 

Mais de Marcos Thomaz (8)

Hibridização de Métodos Exatos e Heurísticos para a Minimização do Atraso Pon...
Hibridização de Métodos Exatos e Heurísticos para a Minimização do Atraso Pon...Hibridização de Métodos Exatos e Heurísticos para a Minimização do Atraso Pon...
Hibridização de Métodos Exatos e Heurísticos para a Minimização do Atraso Pon...
 
Hydros - Apresentação para Investidores
Hydros - Apresentação para InvestidoresHydros - Apresentação para Investidores
Hydros - Apresentação para Investidores
 
Minimax e corte alfa beta
Minimax e corte alfa betaMinimax e corte alfa beta
Minimax e corte alfa beta
 
Conhecendo o Django
Conhecendo o DjangoConhecendo o Django
Conhecendo o Django
 
Curso de PostgreSQL: Um pouco Além dos Comandos
Curso de PostgreSQL: Um pouco Além dos ComandosCurso de PostgreSQL: Um pouco Além dos Comandos
Curso de PostgreSQL: Um pouco Além dos Comandos
 
MongoDB: Uma forma diferente de pensar no desenvolvimento
MongoDB: Uma forma diferente de pensar no desenvolvimento MongoDB: Uma forma diferente de pensar no desenvolvimento
MongoDB: Uma forma diferente de pensar no desenvolvimento
 
Criação de log de ações através do banco
Criação de log de ações através do bancoCriação de log de ações através do banco
Criação de log de ações através do banco
 
Criação de log de ações através do banco - PostgreSQL
Criação de log de ações através do banco - PostgreSQLCriação de log de ações através do banco - PostgreSQL
Criação de log de ações através do banco - PostgreSQL
 

Último

ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docxATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuisKitota
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfSamaraLunas
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 

Último (9)

ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docxATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 

Palestra Apresentando Python e Suas Aplicações

  • 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
  • 4. Python • Endentação como delimitador de blocos;
  • 5. • Possui Interpretador Interativo; Python
  • 6. • Tipagem dinâmica e forte; Python
  • 7. • Orientada a Objetos; ▫ Herança (inclusive herança múltipla); ▫ Polimorfismo; ▫ Suporte a metaclasses; • Tratamento de Exceções; • Sem tipos primitivos; • Introspecção (Reflection); • Multiparadigma; Python
  • 8. • Sobrecarga de operadores; Python
  • 9. • Jython • CPython • IronPython • PyPy • PyObjC (Mac OSX middleware) • Python for Delphi • Brython Python - Interoperabilidade
  • 10. Publico Alvo Ideia copiada do colega Christiano Anderson (@dump)
  • 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
  • 19. • Animações 3D; ▫ Blender; • Aplicativos Móveis (Celulares, Tablets); ▫ PyS60; ▫ Kivy; • Geração de Relatórios / PDF; ▫ ReportLab; ▫ GeraldoReports (BR); • Programação Assíncrona; ▫ Integração com NodeJS ▫ Tornado; ▫ Twisted; Onde / quando usar python
  • 20. • Testes de Código, Unitários: DocTests, BDD, TDD, Selenium; • Persistência de Dados; ▫ ORM: DjangoORM, SQLAlchemy; ▫ DAL: web2py DAL, dal; • Geração de Documentação: PyDoc, Sphynx, Django-extensions; • Reconhecimento Facial: OpenCV, SimpleCV; • Muitos Outros. ▫ Integração com BROffice e MS Office ©, tratamento de arquivos (Json, Yaml, XML, csv, txt), robótica (pyRobotics), desenv. para Raspberry PI, sensores, Análise Digital de Sinais, tipografia, análise de sentimento social, gerenciadores de pacotes (easy_install, pip); 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
  • 26. Python – site www.python.org
  • 27. Python – site: www.python.org.br
  • 28. • int, long, float, complex, Decimal: 1, 2, 10000L, 10.5, 20j, “20.05” • str: “Oi”, ‘mundo’, ‘a’, “b”, ‘’’Teste’’’, ‘Oi ‘+” Mundo”, “ha”*3 • boolean: True, False; • date, time, datetime, timestamp: date(2014,10,8), time(19,00) • list (array), dict, tuple; [1,2,3, ‘A’, 12.5], {‘a’:5, ‘b’:9}, (‘a’,’b’,’c’,4,5) • None; • regex: r’^[F][amet]{4}[a]$’, r’^d{3}.d{3}.d{3}-d{2}’; Tipos de Dados (Básicos)
  • 29. • Aritméticos: +, -, *, /, **, %, // • Lógicos: and, or, not, is, is not • Binários: >> , << • Atribuição: “=“, “+=“, “-=“, “*=“, “/=“ • Condição: “==“, “!=“, “>”, “<“, “>=“, “<=“, “in” Operadores
  • 30. • for for i in ‘Fameta’: print(i) • while p = ‘Fameta’ i = 0 while i<len(p): print(p[i]) i += 1 Controles de Fluxo
  • 31. • if..elif if dia == 8: print(“Hoje é dia 8”) elif dia == 7: print(“Hoje é dia 7”) else: print(“ Hoje não é dia 7 nem dia 8”) Outros
  • 32. • Muito bom mas... •E O CÓDIGO???
  • 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?
  • 42.
  • 43.
  • 44. Sobrecarga de Operadores – Exemplo 1
  • 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.
  • 46. Sobrecarga de Operadores – Exemplo 2
  • 50. Python, Django e MapProxy
  • 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?
  • 56. • https://www.python.org/ • https://www.python.org.br/ • http://ericstk.wordpress.com/2014/09/30/python-powered-coisas-que- python-pode-fazer-e-voce-nao-sabia/ • http://erichideki.github.io/video-aulas-gratuitas/ • https://www.djangoproject.com/ • http://pingmind.com/classes/142/announcements/ Links Interessantes

Notas do Editor

  1. Indicar que a endentação é livre, porém deve seguir um padrão. Não segue o padrão de {}, nem ;, nem begin...end