aula1python.pdf

29
Fundamentos de programação em Python Dino Magri Introdução a Linguagem Python

Upload: iris-deberges

Post on 13-Feb-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Aula1python.pdf

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

Page 2: Aula1python.pdf

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

Page 3: Aula1python.pdf

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

Page 4: Aula1python.pdf

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

Page 5: Aula1python.pdf

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

Page 6: Aula1python.pdf

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

Page 7: Aula1python.pdf

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

Page 8: Aula1python.pdf

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 

Page 9: Aula1python.pdf

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

Page 10: Aula1python.pdf

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

Page 11: Aula1python.pdf

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

Page 12: Aula1python.pdf

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

Page 13: Aula1python.pdf

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

Page 14: Aula1python.pdf

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

Page 15: Aula1python.pdf

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

Page 16: Aula1python.pdf

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

Page 17: Aula1python.pdf

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

Page 18: Aula1python.pdf

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

Page 19: Aula1python.pdf

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

Page 20: Aula1python.pdf

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

Page 21: Aula1python.pdf

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

Page 22: Aula1python.pdf

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

Page 23: Aula1python.pdf

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

Page 24: Aula1python.pdf

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

Page 25: Aula1python.pdf

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

Page 26: Aula1python.pdf

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

Page 27: Aula1python.pdf

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

Page 28: Aula1python.pdf

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

Page 29: Aula1python.pdf

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: [email protected]