dinomagri.comdinomagri.com/wp-content/uploads/2014/04/aula1.pdf2014-04-15 · dinomagri.com
TRANSCRIPT
![Page 1: dinomagri.comdinomagri.com/wp-content/uploads/2014/04/Aula1.pdf2014-04-15 · dinomagri.com](https://reader031.vdocuments.mx/reader031/viewer/2022022110/5c0be00609d3f2501a8c6f7b/html5/thumbnails/1.jpg)
Fundamentos de programação em Python
Dino Magri
Introdução a Linguagem Python
![Page 2: dinomagri.comdinomagri.com/wp-content/uploads/2014/04/Aula1.pdf2014-04-15 · dinomagri.com](https://reader031.vdocuments.mx/reader031/viewer/2022022110/5c0be00609d3f2501a8c6f7b/html5/thumbnails/2.jpg)
MBA em Desenvolvimento de Inovações Tecnológicas para WEB
Agenda • História
• Por que Python?
• Instalação
• Mão na massa
2
![Page 3: dinomagri.comdinomagri.com/wp-content/uploads/2014/04/Aula1.pdf2014-04-15 · dinomagri.com](https://reader031.vdocuments.mx/reader031/viewer/2022022110/5c0be00609d3f2501a8c6f7b/html5/thumbnails/3.jpg)
MBA em Desenvolvimento de Inovações Tecnológicas para WEB
História • Guido van Rossum
• Universidade de Amsterdã - 1982
• 2005 - 2012 – Google
• 2013 – Dropbox
• Iniciou a implementação em Dezembro de 1989
• Python 2.0 – em 2000
• Python 3.0 – em 2008
• Versão 2.7.5 e 3.3.2
• É Python! E não Phyton, Pyton, Phython, ...
• Linguagem de Altíssimo Nível (VHLL)
• Ambiente interativo
• Licença de código aberto, compatível com a GPL
3
![Page 4: dinomagri.comdinomagri.com/wp-content/uploads/2014/04/Aula1.pdf2014-04-15 · dinomagri.com](https://reader031.vdocuments.mx/reader031/viewer/2022022110/5c0be00609d3f2501a8c6f7b/html5/thumbnails/4.jpg)
MBA em Desenvolvimento de Inovações Tecnológicas para WEB
Por que Python? • Simples, Legível, Clara e Elegante
Escrever um simples “nome, Seja bem vindo(a)” Java
public class Hello{ public static void main(String args[]) {
java.util.Scanner s = new java.util.Scanner(System.in); System.out.print("Digite seu nome:"); String nome = s.nextLine(); System.out.println("\n" + nome + ", Seja bem vindo(a) :)\n");
} }
4
![Page 5: dinomagri.comdinomagri.com/wp-content/uploads/2014/04/Aula1.pdf2014-04-15 · dinomagri.com](https://reader031.vdocuments.mx/reader031/viewer/2022022110/5c0be00609d3f2501a8c6f7b/html5/thumbnails/5.jpg)
MBA em Desenvolvimento de Inovações Tecnológicas para WEB
Por que Python? • Simples, Legível, Clara e Elegante
Escrever um simples “nome, Seja bem vindo(a)” C
#include <stdio.h> int main(){
char nome[200]; printf("Digite seu nome: "); scanf("%s", nome); printf("\n %s, Seja bem vindo(a)\n", nome); return 0;
}
5
![Page 6: dinomagri.comdinomagri.com/wp-content/uploads/2014/04/Aula1.pdf2014-04-15 · dinomagri.com](https://reader031.vdocuments.mx/reader031/viewer/2022022110/5c0be00609d3f2501a8c6f7b/html5/thumbnails/6.jpg)
MBA em Desenvolvimento de Inovações Tecnológicas para WEB
Por que Python? • Simples, Legível, Clara e Elegante
Escrever um simples “nome, Seja bem vindo(a)” Python
nome = raw_input('Digite seu nome: ') print ("\n%s, Seja bem vindo(a) :)\n" % nome); Python oferece mais facilidade para entender. Vai direto ao ponto. Simples de usar. Foco no problema, sem perder tempo na sintaxe.
6
![Page 7: dinomagri.comdinomagri.com/wp-content/uploads/2014/04/Aula1.pdf2014-04-15 · dinomagri.com](https://reader031.vdocuments.mx/reader031/viewer/2022022110/5c0be00609d3f2501a8c6f7b/html5/thumbnails/7.jpg)
MBA em Desenvolvimento de Inovações Tecnológicas para WEB
Por que Python? • Baterias Incluídas
• Muitos recursos já estão prontos para serem utilizados, alguns deles:
• Banco de dados (Postgres, MySQL, SQLServer, sqlite, ODBC) • Geração de gráficos (matplotlib) • Protocolos de Rede (TCP, UDP, SimpleHTTPServer, urllib, ftplib, poplib, smtplib,
telnetlib, entre outros) • Web (Django, Web2py, Zope/Plone, Pylons, TurboGears) • Criptografia • Interface Gráfica (Tkinter, wxPython, PyGtk, PyQt, PyKDE, Pythonwin) • Computação gráfica (PyOpenGL, PyGame, PyCUDA, PyGPU) • Ciência (Numarray, Numpy, SciPy, BioPython, AstroPy)
• PyScience - http://pyscience-brasil.wikidot.com/ • Processamento de Imagens (PIL, PythonMagick, Gimp-python, OpenCV)
7
![Page 8: dinomagri.comdinomagri.com/wp-content/uploads/2014/04/Aula1.pdf2014-04-15 · dinomagri.com](https://reader031.vdocuments.mx/reader031/viewer/2022022110/5c0be00609d3f2501a8c6f7b/html5/thumbnails/8.jpg)
MBA em Desenvolvimento de Inovações Tecnológicas para WEB
Por que Python?
8
http://www.python.org/about/quotes/ http://en.wikipedia.org/wiki/Python_(programming_language)#Use
![Page 9: dinomagri.comdinomagri.com/wp-content/uploads/2014/04/Aula1.pdf2014-04-15 · dinomagri.com](https://reader031.vdocuments.mx/reader031/viewer/2022022110/5c0be00609d3f2501a8c6f7b/html5/thumbnails/9.jpg)
MBA em Desenvolvimento de Inovações Tecnológicas para WEB
Por que Python? Conversa com outras linguagens • Cython - http://cython.org/ - C/C++
• Jython - http://www.jython.org/ - Java
• IronPython - http://ironpython.net/ - .NET
• PyPy - http://pypy.org/ - Python
• Python for Delphi - https://code.google.com/p/python4delphi/ - Delphi
• LunaticPython - http://labix.org/lunatic-python - Lua
9
![Page 10: dinomagri.comdinomagri.com/wp-content/uploads/2014/04/Aula1.pdf2014-04-15 · dinomagri.com](https://reader031.vdocuments.mx/reader031/viewer/2022022110/5c0be00609d3f2501a8c6f7b/html5/thumbnails/10.jpg)
MBA em Desenvolvimento de Inovações Tecnológicas para WEB
Por que Python? É multi-plataforma
10
![Page 11: dinomagri.comdinomagri.com/wp-content/uploads/2014/04/Aula1.pdf2014-04-15 · dinomagri.com](https://reader031.vdocuments.mx/reader031/viewer/2022022110/5c0be00609d3f2501a8c6f7b/html5/thumbnails/11.jpg)
MBA em Desenvolvimento de Inovações Tecnológicas para WEB
Por que Python? É multi-plataforma, MESMO
11
![Page 12: dinomagri.comdinomagri.com/wp-content/uploads/2014/04/Aula1.pdf2014-04-15 · dinomagri.com](https://reader031.vdocuments.mx/reader031/viewer/2022022110/5c0be00609d3f2501a8c6f7b/html5/thumbnails/12.jpg)
MBA em Desenvolvimento de Inovações Tecnológicas para WEB
Por que Python? É multi-paradigma • Programação Estruturada
• Programação Orientada a Objetos
• Programação Funcional
12
![Page 13: dinomagri.comdinomagri.com/wp-content/uploads/2014/04/Aula1.pdf2014-04-15 · dinomagri.com](https://reader031.vdocuments.mx/reader031/viewer/2022022110/5c0be00609d3f2501a8c6f7b/html5/thumbnails/13.jpg)
MBA em Desenvolvimento de Inovações Tecnológicas para WEB
Por que Python? É multi-paradigma - Programação Estruturada dic = {} def incluir(item):
quantidade = dic.get(item, 0) + 1 dic[item] = quantidade
def contar(item):
return dic[item]
13
![Page 14: dinomagri.comdinomagri.com/wp-content/uploads/2014/04/Aula1.pdf2014-04-15 · dinomagri.com](https://reader031.vdocuments.mx/reader031/viewer/2022022110/5c0be00609d3f2501a8c6f7b/html5/thumbnails/14.jpg)
MBA em Desenvolvimento de Inovações Tecnológicas para WEB
Por que Python? É multi-paradigma - Programação Estruturada palavra = 'inconstitucional’ for letra in palavra:
incluir(letra) for letra in sorted(set(palavra)):
print letra, contar(letra)
14
![Page 15: dinomagri.comdinomagri.com/wp-content/uploads/2014/04/Aula1.pdf2014-04-15 · dinomagri.com](https://reader031.vdocuments.mx/reader031/viewer/2022022110/5c0be00609d3f2501a8c6f7b/html5/thumbnails/15.jpg)
MBA em Desenvolvimento de Inovações Tecnológicas para WEB
Por que Python? É multi-paradigma - Programação Orientada a Objetos class Contador(object):
def __init__(self): self.dic = {}
def incluir(self, item): quantidade = self.dic.get(item, 0) + 1 self.dic[item] = quantidade
def contar(self, item): return self.dic[item]
15
![Page 16: dinomagri.comdinomagri.com/wp-content/uploads/2014/04/Aula1.pdf2014-04-15 · dinomagri.com](https://reader031.vdocuments.mx/reader031/viewer/2022022110/5c0be00609d3f2501a8c6f7b/html5/thumbnails/16.jpg)
MBA em Desenvolvimento de Inovações Tecnológicas para WEB
Por que Python? É multi-paradigma - Programação Orientada a Objetos cont = Contador() palavra = 'inconstitucional' for letra in palavra:
cont.incluir(letra) for letra in sorted(set(palavra)):
print letra, cont.contar(letra)
16
![Page 17: dinomagri.comdinomagri.com/wp-content/uploads/2014/04/Aula1.pdf2014-04-15 · dinomagri.com](https://reader031.vdocuments.mx/reader031/viewer/2022022110/5c0be00609d3f2501a8c6f7b/html5/thumbnails/17.jpg)
MBA em Desenvolvimento de Inovações Tecnológicas para WEB
Por que Python? É multi-paradigma - Programação Funcional Fibonnaci – 10 primeiro números print map(lambda x,f=lambda x,f:(x<=1) or (f(x-1,f)+f(x-2,f)): int(f(x,f)),range(10))
17
![Page 18: dinomagri.comdinomagri.com/wp-content/uploads/2014/04/Aula1.pdf2014-04-15 · dinomagri.com](https://reader031.vdocuments.mx/reader031/viewer/2022022110/5c0be00609d3f2501a8c6f7b/html5/thumbnails/18.jpg)
MBA em Desenvolvimento de Inovações Tecnológicas para WEB
Por que Python? – Referência: http://goo.gl/jRNcTA
18
![Page 19: dinomagri.comdinomagri.com/wp-content/uploads/2014/04/Aula1.pdf2014-04-15 · dinomagri.com](https://reader031.vdocuments.mx/reader031/viewer/2022022110/5c0be00609d3f2501a8c6f7b/html5/thumbnails/19.jpg)
MBA em Desenvolvimento de Inovações Tecnológicas para WEB
Por que Python? Comunidade e Documentação PT_BR Lista de Email: 2689 Dados do dia 15/09/2013 ás 9:30 PM https://groups.google.com/forum/#!aboutgroup/python-brasil
19
![Page 20: dinomagri.comdinomagri.com/wp-content/uploads/2014/04/Aula1.pdf2014-04-15 · dinomagri.com](https://reader031.vdocuments.mx/reader031/viewer/2022022110/5c0be00609d3f2501a8c6f7b/html5/thumbnails/20.jpg)
MBA em Desenvolvimento de Inovações Tecnológicas para WEB
Por que Python? Comunidade e Documentação PT_BR • Tutorial de Python - http://turing.com.br/pydoc/2.7/tutorial/index.html
• Aprenda Computação com Python - https://code.google.com/p/aprendacompy/
• Python para desenvolvedores - http://ark4n.wordpress.com/python/
• Introdução a programação com Python - http://www.nilo.pro.br/iprog/
• Livros e outros Links - http://www.python.org.br/wiki/AprendaMais
20
![Page 21: dinomagri.comdinomagri.com/wp-content/uploads/2014/04/Aula1.pdf2014-04-15 · dinomagri.com](https://reader031.vdocuments.mx/reader031/viewer/2022022110/5c0be00609d3f2501a8c6f7b/html5/thumbnails/21.jpg)
MBA em Desenvolvimento de Inovações Tecnológicas para WEB
Instalação Linux & Mac Linux A maioria das distribuições Linux já possui o interpretador Python pré-instalado. Mac Também já acompanham um interpretador Python pré-instalado que pode ser atualizado com a última versão no site oficial da linguagem Python
21
![Page 22: dinomagri.comdinomagri.com/wp-content/uploads/2014/04/Aula1.pdf2014-04-15 · dinomagri.com](https://reader031.vdocuments.mx/reader031/viewer/2022022110/5c0be00609d3f2501a8c6f7b/html5/thumbnails/22.jpg)
MBA em Desenvolvimento de Inovações Tecnológicas para WEB
Instalação Windows 1. Acesse o site www.python.org/getit , baixe a versão atual e siga os
passos (o famoso, next, next, next, finish J) 2. Baixar o setuptools para instalar as baterias extras - https://
pypi.python.org/pypi/setuptools/1.1.5#windows
22
![Page 23: dinomagri.comdinomagri.com/wp-content/uploads/2014/04/Aula1.pdf2014-04-15 · dinomagri.com](https://reader031.vdocuments.mx/reader031/viewer/2022022110/5c0be00609d3f2501a8c6f7b/html5/thumbnails/23.jpg)
MBA em Desenvolvimento de Inovações Tecnológicas para WEB
Instalação Windows 1. Configurar a variável de ambiente (path) para poder executar scripts
pelo terminal 1. Acesse “Painel de Controle” -> “Sistema e Segurança” ->
“Sistema” e clicar na opção “Configurações avançadas do sistema” do lado esquerdo.
2. Na aba “Avançado”, clicar no botão “Variáveis de Ambiente” 3. Selecionar a variável do sistema “Path” e clique no botão
“Editar” 4. Adicionar o diretório de instalação do Python na caixa de texto,
normalmente “C:\Python27”
23
![Page 24: dinomagri.comdinomagri.com/wp-content/uploads/2014/04/Aula1.pdf2014-04-15 · dinomagri.com](https://reader031.vdocuments.mx/reader031/viewer/2022022110/5c0be00609d3f2501a8c6f7b/html5/thumbnails/24.jpg)
MBA em Desenvolvimento de Inovações Tecnológicas para WEB
Instalação Windows
24
![Page 25: dinomagri.comdinomagri.com/wp-content/uploads/2014/04/Aula1.pdf2014-04-15 · dinomagri.com](https://reader031.vdocuments.mx/reader031/viewer/2022022110/5c0be00609d3f2501a8c6f7b/html5/thumbnails/25.jpg)
MBA em Desenvolvimento de Inovações Tecnológicas para WEB
Instalação 2. Instalação setuptools
a) Extrair o setuptools-1.1.x.tar.gz b) Acessar a pasta via terminal (cmd ou powershell) e digitar
a) python ez_setup-py
c) Incluir no Path o C:\Python\2X\Scripts
25
![Page 26: dinomagri.comdinomagri.com/wp-content/uploads/2014/04/Aula1.pdf2014-04-15 · dinomagri.com](https://reader031.vdocuments.mx/reader031/viewer/2022022110/5c0be00609d3f2501a8c6f7b/html5/thumbnails/26.jpg)
MBA em Desenvolvimento de Inovações Tecnológicas para WEB
Mão na Massa!
26
![Page 27: dinomagri.comdinomagri.com/wp-content/uploads/2014/04/Aula1.pdf2014-04-15 · dinomagri.com](https://reader031.vdocuments.mx/reader031/viewer/2022022110/5c0be00609d3f2501a8c6f7b/html5/thumbnails/27.jpg)
MBA em Desenvolvimento de Inovações Tecnológicas para WEB
Mão na Massa! Antes de começar: 1. Abra o terminar (cmd ou powershell) e digite:
easy_install web.py
2. Agora abra seu editor de texto preferido
27
![Page 28: dinomagri.comdinomagri.com/wp-content/uploads/2014/04/Aula1.pdf2014-04-15 · dinomagri.com](https://reader031.vdocuments.mx/reader031/viewer/2022022110/5c0be00609d3f2501a8c6f7b/html5/thumbnails/28.jpg)
MBA em Desenvolvimento de Inovações Tecnológicas para WEB
# -*- coding: utf-8 -*- import web urls = (
'/', 'index' ) class index:
def GET(self): return "Oi, mundo!"
if __name__ == "__main__":
app = web.application(urls, globals()) app.run()
28
![Page 29: dinomagri.comdinomagri.com/wp-content/uploads/2014/04/Aula1.pdf2014-04-15 · dinomagri.com](https://reader031.vdocuments.mx/reader031/viewer/2022022110/5c0be00609d3f2501a8c6f7b/html5/thumbnails/29.jpg)
MBA em Desenvolvimento de Inovações Tecnológicas para WEB
Obrigado!
Dúvidas e Comentários • Email: [email protected]
29