Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
Marcos Thomaz da Silva
marcosthomazs@gmail.com
twitter: @marcosthomazs
Conhecendo Python
Rio Branco-AC, 08 de outubro de 2...
• Criada por Guido van Rossun no Instituto de Pesquisa Nacional para
Matemática e Ciência da Computação de Amsterdam;
• La...
• 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 Ex...
• Sobrecarga de operadores;
Python
• Jython
• CPython
• IronPython
• PyPy
• PyObjC (Mac OSX middleware)
• Python for Delphi
• Brython
Python - Interoperabili...
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;
▫ ...
• Desenvolvimento Desktop;
▫ Tinter;
▫ GTK;
▫ QT/PySide;
▫ wxWindows;
▫ Kivy;
▫ PyGame;
▫ Kiwi;
• Diversos Editores de Cód...
• Área Científica:
▫ Scipy;
▫ NumPy;
▫ BioPython;
• Aplicações de GeoReferenciamento/Geoprocessamento:
▫ Mapproxy;
▫ GeoDj...
• Machine Learning;
▫ PyBrain;
▫ PyML;
• Linguagem Natural e Processamento de Texto;
▫ NLTK;
▫ Quepy;
• Redes Neurais;
▫ n...
• Mineração / Análise de Dados;
▫ Pandas
• Tratamento de Imagens;
▫ Básico/Intermediário
PIL;
▫ Avançado
NumPy
SciPy
• ...
• Desenvolvimento web
▫ Frameworks
Django;
Pyramid;
Web2Py;
Zope;
Grok;
▫ Microframeworks;
Flask;
Bottle;
▫ Outros
...
• Ferramenta de Gerenciamento de Conteúdo;
▫ Plone;
▫ Opps;
▫ Mezzanine;
• Gestão Empresarial e Desenvolvimento de ERP’s:
...
• Animações 3D;
▫ Blender;
• Aplicativos Móveis (Celulares, Tablets);
▫ PyS60;
▫ Kivy;
• Geração de Relatórios / PDF;
▫ Re...
• Testes de Código, Unitários: DocTests, BDD, TDD, Selenium;
• Persistência de Dados;
▫ ORM: DjangoORM, SQLAlchemy;
▫ DAL:...
• Windows
▫ Fazer o Download dos binários e seguir a “filosofia” NNF
• Linux e MacOS
▫ Já vem pré-instalado por padrão.
In...
• Através de Binários de Instalação;
• Compilando Código-Fonte; ou
• Através de um gerenciador de Pacotes. (Recomendado)
p...
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 ‘+...
• Aritméticos: +, -, *, /, **, %, //
• Lógicos: and, or, not, is, is not
• Binários: >> , <<
• Atribuição: “=“, “+=“, “-=“...
• 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 ...
• 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...
Um pouco de código
• Leia um número, e diga se ele
é par ou ímpar
<variavel >= <valorSeVerdadeiro >if <Condição> else <val...
Um pouco de código
• Ler uma palavra e imprimi-la ao inverso (por exemplo OI apareceria IO).
• Ler o nome da pessoa e most...
Um pouco de código
• Claro que o código anterior ficou um pouco confuso, mas a simplicidade da linguagem
permite que a ins...
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 ...
Um pouco de código
• Criar uma função que verifique se duas strings são anagramas, por
exemplo, a palavra “casa”, tem como...
• Ler o conteúdo do arquivo alunos.txt e imprima os nomes da tela,
organizando por ordem alfabética, e numerando os nomes ...
Um pouco de código
• Criar uma função que conte quantas vezes aparece a palavra “code” na
palavra informada, sendo que a l...
Orientação a Objetos
• Temos uma classe Pessoa e as classes Gerente e Vendedor (que são uma
especialização de Pessoa). Na ...
Sobrecarga de Operadores – Exemplo 1
Sobrecarga de Operadores – Exemplo 2
• No mundo real, temos os
alunos e, ao
matricularmos esses
alunos em uma
determinada ...
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 peque...
• Linguagem simples, elegante e poderosa;
• Fácil de aprender;
• Pode ser usada para resolver uma grande variedade de prob...
• https://www.python.org/
• https://www.python.org.br/
• http://ericstk.wordpress.com/2014/09/30/python-powered-coisas-que...
Obrigado!
Dúvidas??
Palestra Apresentando Python e Suas Aplicações
Palestra Apresentando Python e Suas Aplicações
Nächste SlideShare
Wird geladen in …5
×

Palestra Apresentando Python e Suas Aplicações

2.680 Aufrufe

Veröffentlicht am

Apresentação utilizada na palestra realizada no dia 08/10/2014 na faculdade Meta, contendo uma introdução sobre a linguagem de programação Python, suas aplicações, empresas que utilizam e exemplos de uso aplicado a algumas situações, mostrando o potencial desta linguagem, que vai desde o acesso a bancos de dados, geração de sites, aplicações desktop e web multiplataformas (windows, linux, freebsd, MacOS), web, mineração de dados, inteligência artificial, até o desenvolvimento de aplicações mobile (android, iOS).

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

Palestra Apresentando Python e Suas Aplicações

  1. 1. Marcos Thomaz da Silva marcosthomazs@gmail.com twitter: @marcosthomazs Conhecendo Python Rio Branco-AC, 08 de outubro de 2014
  2. 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
  3. 3. • Multiplataforma; Python
  4. 4. Python • Endentação como delimitador de blocos;
  5. 5. • Possui Interpretador Interativo; Python
  6. 6. • Tipagem dinâmica e forte; Python
  7. 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. 8. • Sobrecarga de operadores; Python
  9. 9. • Jython • CPython • IronPython • PyPy • PyObjC (Mac OSX middleware) • Python for Delphi • Brython Python - Interoperabilidade
  10. 10. Publico Alvo Ideia copiada do colega Christiano Anderson (@dump)
  11. 11. • Frequentemente vista como linguagem de "scripts“; • Mas não é bem assim! Vejamos! Python – Pra que serve mesmo?
  12. 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. 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. 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. 15. • Machine Learning; ▫ PyBrain; ▫ PyML; • Linguagem Natural e Processamento de Texto; ▫ NLTK; ▫ Quepy; • Redes Neurais; ▫ neurolab; ▫ PyAnn Onde / quando usar python
  16. 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. 17. • Desenvolvimento web ▫ Frameworks Django; Pyramid; Web2Py; Zope; Grok; ▫ Microframeworks; Flask; Bottle; ▫ Outros Google App Engine (GAE); Onde / quando usar python
  18. 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. 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. 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. 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. 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
  23. 23. Python – Quem usa?
  24. 24. Python – Quem Usa
  25. 25. Python – Quem Usa
  26. 26. Python – site www.python.org
  27. 27. Python – site: www.python.org.br
  28. 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. 29. • Aritméticos: +, -, *, /, **, %, // • Lógicos: and, or, not, is, is not • Binários: >> , << • Atribuição: “=“, “+=“, “-=“, “*=“, “/=“ • Condição: “==“, “!=“, “>”, “<“, “>=“, “<=“, “in” Operadores
  30. 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. 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. 32. • Muito bom mas... •E O CÓDIGO???
  33. 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. 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. 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. 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. 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. 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. 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. 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. 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. 42. Sobrecarga de Operadores – Exemplo 1
  43. 43. 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.
  44. 44. Sobrecarga de Operadores – Exemplo 2
  45. 45. Python e MongoDB
  46. 46. Python e PostgreSQL
  47. 47. Python / Django ORM
  48. 48. Python, Django e MapProxy
  49. 49. Python no Desktop
  50. 50. PyGame
  51. 51. Python (Blender)
  52. 52. “... 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.
  53. 53. • 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?
  54. 54. • 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
  55. 55. Obrigado! Dúvidas??

×