Python

Keywords: Python, 1990, Amsterdã, BitTorrent, Blender, CPython, C mais mais, Compilador

Para outros significados de Python, ver Python (desambiguação).

right Python é uma linguagem de programação interpretada, interativa, dinamicamente tipada, orientada a objetos.

O desenvolvimento do Python começou em 1990, no CWI (Instituto de Matemática e Ciência da Computação), em Amsterdã, na Holanda, por Guido Van Rossum, e foi depois continuado pela Python Software Foundation (PSF).

O nome Python teve a sua origem no grupo humorístico britânico Monty Python, criador do programa Monty Python's Flying Circus.

Conteúdo

O que é Python

Python é uma linguagem de programação interpretada, interativa, orientada a objetos (ainda que suporte outros paradigmas, como a programação funcional) dinamicamente tipada (tipos de variáveis, retornos de funções e parâmetros são identificados pelo interpretador) embora fortemente tipada (Os valores e objetos têm tipos bem definidos e não sofrem coerções como em linguagem C ou Perl).

A delimitação dos blocos de instruções é feito por alinhamento (Endentação ou Indentação), não há delimitadores como Begin e End de Algol ou { e } da linguagem C. Oferece tipos de dados de alto nível como strings de verdade, dicionários (também conhecido por hashes ou arranjos associativos), listas, tuplas, classes, etc.

O Python suporta outros paradigmas de programação além da orientação a objetos, como a programação modular, para organizar melhor os nomes e escopos de variáveis e a programação funcional, que enfatiza a avaliação de expressões, ao invés da execução imperativa de comandos. A sintaxe é fácil de ser compreendida e rápida de ser dominada, sendo considerada por muitos um dos grandes atrativos da linguagem. A construção dos tipos de dados são de alto-nível.

O Python pode ser extendida em módulos de compilação como C, C++. Os módulos de extensão podem definir novas funções e variáveis, também como novos tipos de objetos. Python é, em vários aspectos, semelhante a outras linguagens interpretadas como Tcl, Perl, Scheme e Ruby.

Foi inicialmente criado para ensino de programação de computadores mas sem que isso o tornasse uma linguagem limitada ou com poucos recursos. É uma linguagem de altíssimo nível, ou seja, bem mais próxima do raciocínio humano que da arquitetura da máquina.

Hoje é usada em diversas áreas, como servidores de aplicação e computação gráfica. Está disponível como linguagem script em aplicações como OpenOffice (Python UNO Bridge) e pode ser utilizado em Stored Procedures no banco de dados PostgreSQL (PL/Python).

Plataformas disponíveis

Está disponível para as mais diversas plataformas, desde Unix (Linux, FreeBSD, Solaris, MacOS X etc.), Windows, versões antigas de MacOS até consoles de videogames ou mesmo alguns celulares, como a série 60 da Nokia e palmtops.

O código fonte é traduzido pelo interpretador para o formato bytecode, que é multiplataforma e pode ser executado e distribuído sem fonte original.

Filosofia da Linguagem

 '''The Zen of Python'''
 
 Bonito é melhor que feio.
 Explícito é melhor que implícito.
 Simples é melhor que complexo.
 Complexo é melhor que complicado.
 Plano é melhor que aglomerado.
 Esparso é melhor que denso.
 O que conta é a legibilidade.
 Casos especiais não são especiais o bastante para quebrar as regras.
 A natureza prática derruba a teórica.
 Erros nunca deveriam passar silenciosamente.
 A menos que sejam explícitamente silenciados.
 Diante da ambigüidade, recuse a tentação de adivinhar.
 Deveria haver um -- e preferentemente só um -- modo óbvio para fazer as coisas.
 Embora aquele modo pode não ser óbvio a menos que você seja holandês.
 Agora é melhor que nunca.
 Embora nunca é freqüentemente melhor que *agora mesmo*.
 Se a implementação é difícil para explicar, isto é uma idéia ruim.
 Se a implementação é fácil para explicar, pode ser uma idéia boa.
 Namespaces são uma grande idéia -- façamos mais desses!
 

Esse texto pode ser obtido (em inglês) digitando o comando abaixo no prompt interativo da linguagem:

 >>> import this
 

Implementações

Python possui diversas implementações. Entre elas estão:

Licença

Python possui uma licença Open Source certificada pela OSI compatível com a GPL, porém menos restritiva. Sua licença prevê (entre outras coisas) que binários da linguagem sejam distribuídos sem a necessidade de se haver o código-fonte junto. Para maiores detalhes, visite http://www.python.org/2.4.1/license.html.

Módulos

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

Interfaces Gráficas

GUI é um método de interagir com um computador através de uma metáfora de manipulação direta de imagens e sinais gráficos (ícones, botões, janelas e outros)

Exemplos de GUIs para Python:

Aplicações

Utilização industrial da Linguagem

Sintaxe

Uma das características mais marcantes da linguagem, a sintaxe do Python é clara, concisa e elegante, o que facilita a manutenção e garante a produtividade.

Exemplos:

 # O tradicional "Hello, world"
 print 'Olá, mundo!'
 
 # Imprimindo uma lista ordenada com os itens com a primeira letra em maiuscula
 lista = ['laranja', 'banana', 'uva']
 lista.sort()
 
 for item in lista:
     print item.capitalize()
 
 # Contando palavras em um arquivo
 arquivo = file('text.txt')
 palavras = arquivo.read().split()
 
 # Tirando as repetidas
 unicas = set(palavras)
 
 # Mostrando os resultados
 print 'Palavras: %d. Tirando as repetidas: %d' % (len(palavras), len(unicas))
 

Links externos

http://www.python.org
http://www.pythonbrasil.com.br
http://www.tchezope.org
http://minerva.ufpel.tche.br/~campani/laminas.pdf
http://www.async.com.br/projects/python/pnp
http://www.fabiorizzo.com/artigos/python
http://www.python.org/doc/tut
http://www.ic.unicamp.br/~ra008849/downloads/aulas_python/aula-01.pdf
http://www.labaki.tk
Outros tutoriais de Python
http://aspn.activestate.com/ASPN/Python/Cookbook
http://www.pyzine.com
http://www.pythonware.com/daily
http://www.planetpython.org
http://diveintopython.org

Keywords: Python, 1990, Amsterdã, BitTorrent, Blender, CPython, C mais mais, Compilador