introdução a programação em python d3

23
Programação em Python Kaísy Nunes Alves Moisés Cardozo de Paula

Upload: moises-de-paula

Post on 01-Jul-2015

105 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introdução a programação em python d3

Programação em Python

Kaísy Nunes AlvesMoisés Cardozo de Paula

Page 2: Introdução a programação em python d3

Índice

Licença Desenvolvimento Módulos e Frameworks Aplicações

Page 3: Introdução a programação em python d3

Licença

Python possui uma licença livre aprovada pela OSI (Iniciativa de código aberto) e compatível com a GPL (Licença Pública Geral), porém menos restritiva. Ela prevê, entre outras coisas, que binários da linguagem sejam distribuídos sem a necessidade de fornecer o código-fonte junto.

Page 4: Introdução a programação em python d3

Licença

É possível fazer programas comerciais / proprietários / fechados sem disponibilizar o fonte em si, e cobrar sobre o programa.

Page 5: Introdução a programação em python d3

Desenvolvimento

O desenvolvimento de Python é conduzido amplamente através do processo Python Enhancement Proposal ("PEP"), em português Proposta de Melhoria do Python.

Os PEP’s são documentos de projeto padronizados que fornecem informações gerais relacionadas ao Python.

Page 6: Introdução a programação em python d3

Desenvolvimento

Questões específicas são discutidas no gerenciador de erros Roundup mantido em python.org. 

O desenvolvimento acontece no auto-hospedado svn.python.org.

Page 7: Introdução a programação em python d3

Módulos e frameworks

“Framework é um conjunto de classes que colaboram para realizar uma responsabilidade para um domínio de um subsistema da aplicação.” — Fayad e Schmidt,

Ao longo do tempo têm sido desenvolvidos pela comunidade de programadores muitas bibliotecas de funções especializadas (módulos) que permitem expandir as capacidades base da linguagem. Entre eles especializados destacam-se:

Page 8: Introdução a programação em python d3

Descrição Campos de atuação

DjangoFramework para desenvolvimento ágil de aplicações web;

desenvolvimento web

PylonsFramework para desenvolvimento de aplicações web;

desenvolvimento web

TurboGears

Framework baseado em várias outras tecnologias existentes no mundo que gira em torno da linguagem Python;

desenvolvimento web

Matplotlib - Matplotlib / Pylab

biblioteca para manipulação de gráficos 2D;

processamento de imagem

Módulos e frameworks

Page 9: Introdução a programação em python d3

Python Imaging Librarybiblioteca para manipulação de imagens digitais;

processamento de imagem

PyOpenGL - Python OpenGL Binding

suporte multiplataforma ao OpenGL; computação gráfica

Pygame

Conjunto de módulos para o desenvolvimento de jogos eletrônicos, incluindo gráficos SDL;

desenvolvimento de jogos eletrônicos; computação gráfica

Twisted

Framework para o desenvolvimento de aplicações de rede. Inclui módulos paraservidor web, de aplicação, SSH e diversos outros protocolos;

desenvolvimento de software; desenvolvimento web

PYRO - Python Remote Objects

Framework para o desenvolvimento de sistemas distribuídos;

computação distribuída

Módulos e frameworks

Page 10: Introdução a programação em python d3

ZODB

Sistema de persistência e banco de dados orientado a objetos;

banco de dados

PloneSGC - Sistema de gerenciamento de conteúdo;

desenvolvimento web

CherryPy Framework para aplicações web; desenvolvimento web

Web2py Framework para aplicações web; desenvolvimento web

Visual Python Framework 3D de alto nível; computação gráfica

SQLObject

Mapeador objeto-relacional: traduz estruturas relacionais para objetos Python e manipula o banco de dados de forma transparente;

banco de dados

NumarrayMódulo para manipulação de vetores e computação científica.

computação científica

Módulos e frameworks

Page 11: Introdução a programação em python d3

Módulos e frameworks – Interfaces gráficas

Exemplos de bibliotecas de GUI (interface gráfica do utilizador) disponíveis para Python incluem: Descrição

Etk interface para a biblioteca EFL

PyGTK interface para a biblioteca GTK

PyQT interface para a biblioteca QT

Tkinter Módulo padrão para GUI no Python

wxPython interface para a biblioteca wxWidgets

Wax Construído para simplificar o uso do wxPython

Page 12: Introdução a programação em python d3

Aplicações

Alguns dos maiores projetos que utilizam Python são o servidor de aplicação Zope, o compartilhador de arquivos Mnet, o site YouTube e o cliente original do BitTorrent. 

Page 13: Introdução a programação em python d3

Aplicações

Grandes organizações que usam a linguagem incluem:

Google (parte dos crawlers(rastreador web));

Yahoo! (grupos de usuários); NASA; Air Canada (alguns componentes);

Além dessas, a linguagem tem se difundido no ramo da segurança da informação.

Page 14: Introdução a programação em python d3

Aplicações

Também tem sido embarcada como linguagem de script em diversos softwares, sendo alguns deles de edição 3D:

Maya; Autodesk Softimage; TrueSpace; Blender;

Page 15: Introdução a programação em python d3

Aplicações

Programas de edição de imagem, como o GIMP, també, a usam para script.

Diversas distribuições do Linux disponibilizaram a linguagem como componente padrão em muitos SO’s. O Red Hat Linux usa Python para instalação, configuração e gerenciamento de pacotes.

Page 16: Introdução a programação em python d3

Aplicações

Outro exemplo é o Plone, sistema de gerenciamento de conteúdo desenvolvido em Python e Zope.

A Industrial Light & Magic produz filmes da série Star Wars usando extensivamente Python para a computação gráfica nos processos de produção dos filmes.

Page 17: Introdução a programação em python d3

Python Developers Center

Page 18: Introdução a programação em python d3

Python Developer Center

Page 19: Introdução a programação em python d3

Python Developer Center

Page 20: Introdução a programação em python d3

Python Developer Center

Page 21: Introdução a programação em python d3

Python Developer Center

Page 22: Introdução a programação em python d3

Python Developer Center

Page 23: Introdução a programação em python d3

Programação em Python