Você está na página 1de 29

Fundamentos de programação

em Python

Introdução a Linguagem Python

Dino Magri
MBA em Desenvolvimento de Inovações
Tecnológicas para WEB

Agenda

•  História

•  Por que Python?

•  Instalação

•  Mão na massa

2
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
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
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)”

#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
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
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
MBA em Desenvolvimento de Inovações
Tecnológicas para WEB

Por que Python?

http://www.python.org/about/quotes/
http://en.wikipedia.org/wiki/Python_(programming_language)#Use

8
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
MBA em Desenvolvimento de Inovações
Tecnológicas para WEB

Por que Python?

É multi-plataforma

10
MBA em Desenvolvimento de Inovações
Tecnológicas para WEB

Por que Python?

É multi-plataforma, MESMO

11
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
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
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
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
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
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
MBA em Desenvolvimento de Inovações
Tecnológicas para WEB

Por que Python? – Referência: http://goo.gl/jRNcTA

18
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
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
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
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
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
MBA em Desenvolvimento de Inovações
Tecnológicas para WEB

Instalação

Windows

24
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
MBA em Desenvolvimento de Inovações
Tecnológicas para WEB

Mão na Massa!

26
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
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
MBA em Desenvolvimento de Inovações
Tecnológicas para WEB

Obrigado!

Dúvidas e Comentários

•  Email: contato@dinomagri.com

29

Você também pode gostar