35
 Natã Venancio de Melo [email protected]

Linguagem Python

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Linguagem Python

    Natã Venancio de [email protected]

Page 2: Linguagem Python

   

Agenda:

Histórico Características Plataformas Disponíveis Implementações Licença Módulos e Frameworks Ambientes de desenvolvimento Integrado

Page 3: Linguagem Python

   

Agenda:

Aplicações Aprenda Python Python não é uma maravilha Eventos Python no nosso curso Ranking Guido Van Rossum

Page 4: Linguagem Python

   

Histórico

Guido Van Rossum – 1989 Instituto de Pesquisa Nacional para Matemática e Ciência da Computação (CWI)

Sucessor da linguagem ABC Aumentar Produtividade do Programador Lançamento: 1991

Versão 0.90: Módulos de Modula­3 Classes, heranças, tratamento de exceções, funções 

Tipos de dados nativos (list, dict, str)

Page 5: Linguagem Python

   

Histórico 1994

Fórum de discussão comp.lang.python Versão 1.0:

Adicionado de ferramentas para computação funcional (lambda, map, filter e reduce)

1995: Corporação para Iniciativas Nacionais de Pesquisa ­ CNRI (Reston­Estados Unidos)

Versão 1.2 Versão 1.4:

Linguagem ganha a capacidade de passar parâmetro pelo nome

Page 6: Linguagem Python

   

Histórico

Ganha forma de encapsulamento Suporte Nativo a número complexos

Versão 1.6 Versão 1.61:

Licença CNRI Compatível com GPL

2000: BeOpen Versão 2.0:

Listcomprehension, sistema coletor de lixo

Analisador Sintático SAX

Page 7: Linguagem Python

   

Histórico

2001: PythonLabs    Digital Creations→ Python Software Foundation Versão 2.1 Versão 2.2:

Unificação do tipos de Python (escritos em C) e classes (escritas em Python) em somente uma hierarquia

Modelo de Objetos Python consistentemente orientado a       objeto

Page 8: Linguagem Python

   

Histórico Versão 2.3:

Pacote logging Versão 2.4 Versão 2.6:

Transição Bibliotecas para multiprocessamento, JSON, E/S

Nova forma de formatação de cadeias de caracteres

Python 3000: O print passa a ser uma função Mudança de todas as cadeias de caractere para UNICODE

Page 9: Linguagem Python

   

Características

Construções Estrutura de Seleção

 if, elif, else Estrutura de Repetição

 for, while Estrutura de classes

class Contrução de Subrotina

def Construção de escopo

with

Page 10: Linguagem Python

   

Características

Tipos de dados Valores e Objetos possuem tipos bem definidos

str    “Python”, 'pet­computacao'→ list   ['ufcg', 10, True]→ dict   {“oi”:”hello”, “gordo”:”big”}→ int    13,  5555555555555555L→ float   12.987765432→ complex   3+4j→ bool   True, False→ set, frozenset   set([1,”diogo”, “diogo”, →13, 13])

Page 11: Linguagem Python

   

Características

Permite definição de tipo de dados próprios

Métodos são definidos como funções anexados à classe

Exemplo de criação de classe:

class Bag:    def __init__(self):        self.data = []    def add(self, x):        self.data.append(x)    def addtwice(self, x):        self.add(x)        self.add(x)

Page 12: Linguagem Python

   

Características

Palavras reservadas and, del, from, not, while, as, elif, global, or, with, assert, else, if, pass, yield, break, except, import, print, class, exec, in, raise, continue, finally, is, return, def, for, lambda, try 

Operadores Básicos:

==, >, <, <=, >=  Lógicos:

and, or, not

Page 13: Linguagem Python

   

Características

Tipagem Dinâmica Interpretador Interativo Análise Léxica Analisador Sintático Indentação e Espaços em branco Compilador de Bytecode

Pode ser compilada .pyc e .pyo Módulo dis da Bilioteca Grupos de Arquivos

Page 14: Linguagem Python

   

Características

Orientação a Objetos Classes, funções, números e módulos são considerados objetos

Polimorfismo, herança Não há encapsulamento

Atributo de uso privado da classe: _atributo

Classe._atributo = outro_atributo Atributo privado: __atributo

Classe._A__atributo = outro_atributo

Page 15: Linguagem Python

   

Características

Tratamento de Exceções

try:coordenador  =  Curso.getCoordenador()

except AttributeError:print “BUG”

Page 16: Linguagem Python

   

Características

Ferramentas de diversas tarefas Aplicações

Internet Interfaces Gráficas Conectar em Banco de dados relacionais

Page 17: Linguagem Python

   

Plataformas Disponíveis

Diversas Plataformas Unix, Windows Compilador C   gerar Python a partir do →código fonte

Page 18: Linguagem Python

   

Implementações

CPython e Stackless Python PyS60 Jython, IronPython

Page 19: Linguagem Python

   

Licença

Livre, aprovada pela OSI Compatível com GPL

Page 20: Linguagem Python

   

Módulos e Frameworks

Biliotecas de Funções Especializadas Desenvolvimento Web

Django, Pylons, TurboGears, CherryPy Processamento de Imagem

Python Imaging Library, Matplotlib Computação Gráfica e Desenvolvimento de Jogos

Visual Python, PyOpenGL, Pygame Computação Distribuída

PYRO

Page 21: Linguagem Python

   

Módulos e Frameworks

Computação Científica Numarray 

Desenvolvimento de Software Twisted

Banco de dados ZODB

Page 22: Linguagem Python

   

Interfaces Gráfica

Tkinter : Módulo padrão para GUI no Python PyGT : Interface para a biblioteca GTK PyQT : Interface para a biblioteca QT WxPython : Interface para a biblioteca wxWidgets

Wax : Modo simples do wxPython

Page 23: Linguagem Python

   

Ambientes de desenvolvimento integrado

Boa Constructor   wxPython→ Eric Python IDE   Qt→ Geany   GTK2→ IDLE   Tkinter→ IronPython Studio   VS2008→ Komodo   Mozilla → PyDev (Eclipse) PythonCard  PyScripter  Wing IDE

Page 24: Linguagem Python

   

Aplicações

Projetos que utilizam PythonProjetos que utilizam Python Servidor ZOPEServidor ZOPE MnetMnet YouTubeYouTube

Organizações que utilizam a linguagemOrganizações que utilizam a linguagem GoogleGoogle YahooYahoo NASANASA Air CanadaAir Canada

Page 25: Linguagem Python

   

Aplicações

Alguns Softwares Maya Softimage XSI TrueSpace Blender GIMP

Page 26: Linguagem Python

   

Aprenda Python

http://associacao.pythonbrasil.org/ http://www.python.org.br/wiki http://www.python.org/ http://infomoz.net/modules/ http://www.s60.com/life http://opensource.nokia.com/projects/pythonfors60/ http://www.pygame.org/news.html http://www.youtube.com/watch?v=s­fKcZ5pKLE

Page 27: Linguagem Python

   

Python não é uma MaravilhaPython não é uma Maravilha

Orientação a Objetos Não há encapsulamento Incofiável quanto à atributos privados Parâmetros não define tipo Um mesmo método pode retornar vários tipos de objetos 

Page 28: Linguagem Python

   

Eventos PyconBrasil

http://pyconbrasil.com.br/ http://video.google.com/videosearch?q=pyconbrasil3#

EuroPython http://www.europython.eu/

EuroSciPy http://www.euroscipy.org/

Outros http://wiki.python.org/moin/PythonEvents

Page 29: Linguagem Python

   

Python no nosso curso

2008.1  Projetos

Page 30: Linguagem Python

   

Ranking

Page 31: Linguagem Python

   

Page 32: Linguagem Python

   

Guido Van Rossum

Page 33: Linguagem Python

   

Referências

http://www.python.org.br http://www.dmat.furg.br/~python/ http://wapedia.mobi/pt/Python http://www.tiobe.com

Page 34: Linguagem Python

   

Comentários

Page 35: Linguagem Python

   

print “FIM”