aula1python.pdf
Post on 13-Feb-2018
217 Views
Preview:
TRANSCRIPT
7/23/2019 Aula1python.pdf
http://slidepdf.com/reader/full/aula1pythonpdf 1/29
Fundamentos de programaçãoem Python
Dino Magri
Introdução a Linguagem Python
7/23/2019 Aula1python.pdf
http://slidepdf.com/reader/full/aula1pythonpdf 2/29
MBA em Desenvolvimento de InovaçõesTecnológicas para WEB
Agenda
• História
• Por que Python?
• Instalação
• Mão na massa
2
7/23/2019 Aula1python.pdf
http://slidepdf.com/reader/full/aula1pythonpdf 3/29
MBA em Desenvolvimento de InovaçõesTecnoló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
7/23/2019 Aula1python.pdf
http://slidepdf.com/reader/full/aula1pythonpdf 4/29
MBA em Desenvolvimento de InovaçõesTecnoló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
7/23/2019 Aula1python.pdf
http://slidepdf.com/reader/full/aula1pythonpdf 5/29
MBA em Desenvolvimento de InovaçõesTecnoló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
7/23/2019 Aula1python.pdf
http://slidepdf.com/reader/full/aula1pythonpdf 6/29
MBA em Desenvolvimento de InovaçõesTecnoló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
7/23/2019 Aula1python.pdf
http://slidepdf.com/reader/full/aula1pythonpdf 7/29
MBA em Desenvolvimento de InovaçõesTecnoló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 (!"#$%&#%'()
• 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
7/23/2019 Aula1python.pdf
http://slidepdf.com/reader/full/aula1pythonpdf 8/29
MBA em Desenvolvimento de InovaçõesTecnológicas para WEB
Por que Python?
8
http://www.python.org/about/quotes/
http://en.wikipedia.org/wiki/Python_(programming_language)#Use
7/23/2019 Aula1python.pdf
http://slidepdf.com/reader/full/aula1pythonpdf 9/29
MBA em Desenvolvimento de InovaçõesTecnoló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
7/23/2019 Aula1python.pdf
http://slidepdf.com/reader/full/aula1pythonpdf 10/29
MBA em Desenvolvimento de InovaçõesTecnológicas para WEB
Por que Python?
É multi-plataforma
10
7/23/2019 Aula1python.pdf
http://slidepdf.com/reader/full/aula1pythonpdf 11/29
MBA em Desenvolvimento de InovaçõesTecnológicas para WEB
Por que Python?
É multi-plataforma, MESMO
11
7/23/2019 Aula1python.pdf
http://slidepdf.com/reader/full/aula1pythonpdf 12/29
MBA em Desenvolvimento de InovaçõesTecnológicas para WEB
Por que Python?
É multi-paradigma
•
Programação Estruturada
•
Programação Orientada a Objetos
•
Programação Funcional
12
7/23/2019 Aula1python.pdf
http://slidepdf.com/reader/full/aula1pythonpdf 13/29
MBA em Desenvolvimento de InovaçõesTecnológicas para WEB
Por que Python?
É multi-paradigma - Programação Estruturada
dic = {}
def incluir(item):
quantidade = dic.get(item, 0) + 1dic[item] = quantidade
def contar(item):
return dic[item]
13
7/23/2019 Aula1python.pdf
http://slidepdf.com/reader/full/aula1pythonpdf 14/29
MBA em Desenvolvimento de InovaçõesTecnoló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
7/23/2019 Aula1python.pdf
http://slidepdf.com/reader/full/aula1pythonpdf 15/29
MBA em Desenvolvimento de InovaçõesTecnoló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
7/23/2019 Aula1python.pdf
http://slidepdf.com/reader/full/aula1pythonpdf 16/29
MBA em Desenvolvimento de InovaçõesTecnoló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
7/23/2019 Aula1python.pdf
http://slidepdf.com/reader/full/aula1pythonpdf 17/29
MBA em Desenvolvimento de InovaçõesTecnoló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
7/23/2019 Aula1python.pdf
http://slidepdf.com/reader/full/aula1pythonpdf 18/29
MBA em Desenvolvimento de InovaçõesTecnológicas para WEB
Por que Python? – Referência: http://goo.gl/jRNcTA
18
7/23/2019 Aula1python.pdf
http://slidepdf.com/reader/full/aula1pythonpdf 19/29
MBA em Desenvolvimento de InovaçõesTecnoló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 PMhttps://groups.google.com/forum/#!aboutgroup/python-brasil
19
7/23/2019 Aula1python.pdf
http://slidepdf.com/reader/full/aula1pythonpdf 20/29
MBA em Desenvolvimento de InovaçõesTecnoló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
7/23/2019 Aula1python.pdf
http://slidepdf.com/reader/full/aula1pythonpdf 21/29
MBA em Desenvolvimento de InovaçõesTecnoló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 podeser atualizado com a última versão no site oficial da linguagem Python
21
7/23/2019 Aula1python.pdf
http://slidepdf.com/reader/full/aula1pythonpdf 22/29
MBA em Desenvolvimento de InovaçõesTecnoló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!
)
2.
Baixar o setuptools para instalar as baterias extras - https://
pypi.python.org/pypi/setuptools/1.1.5#windows
22
7/23/2019 Aula1python.pdf
http://slidepdf.com/reader/full/aula1pythonpdf 23/29
MBA em Desenvolvimento de InovaçõesTecnológicas para WEB
Instalação
Windows
1.
Configurar a variável de ambiente (path) para poder executar scripts
pelo terminal1.
Acesse “Painel de Controle” -> “Sistema e Segurança” ->
“Sistema” e clicar na opção “Configurações avançadas dosistema” 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
7/23/2019 Aula1python.pdf
http://slidepdf.com/reader/full/aula1pythonpdf 24/29
MBA em Desenvolvimento de InovaçõesTecnológicas para WEB
Instalação
Windows
24
7/23/2019 Aula1python.pdf
http://slidepdf.com/reader/full/aula1pythonpdf 25/29
MBA em Desenvolvimento de InovaçõesTecnoló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
7/23/2019 Aula1python.pdf
http://slidepdf.com/reader/full/aula1pythonpdf 26/29
MBA em Desenvolvimento de InovaçõesTecnológicas para WEB
Mão na Massa!
26
7/23/2019 Aula1python.pdf
http://slidepdf.com/reader/full/aula1pythonpdf 27/29
MBA em Desenvolvimento de InovaçõesTecnoló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
7/23/2019 Aula1python.pdf
http://slidepdf.com/reader/full/aula1pythonpdf 28/29
MBA em Desenvolvimento de InovaçõesTecnoló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
7/23/2019 Aula1python.pdf
http://slidepdf.com/reader/full/aula1pythonpdf 29/29
MBA em Desenvolvimento de InovaçõesTecnológicas para WEB
Obrigado!
Dúvidas e Comentários
•
Email: contato@dinomagri.com
top related