O nome Python teve a sua origem no grupo humor�stico brit�nico Monty Python,[7]
criador do programa Monty Python's Flying Circus, embora muitas pessoas fa�am
associa��o com o r�ptil do mesmo nome (em portugu�s, p�ton ou pit�o).
�ndice
1 Hist�ria
2 Filosofia
2.1 Constru��es
2.2 Tipos de dado
2.3 Palavras reservadas
2.4 Operadores
2.5 Interpretador interativo
2.6 An�lise l�xica
2.6.1 Indenta��o
2.7 Compilador de bytecode
2.8 Orienta��o a objetos
2.9 Programa��o funcional
2.10 Tratamento de exce��es
2.11 Biblioteca padr�o
2.12 Interoperabilidade
2.13 Coment�rios
3 Plataformas dispon�veis
4 Implementa��es
5 Desenvolvimento
6 Licen�a
7 M�dulos e frameworks
7.1 Interfaces gr�ficas
8 Ambientes de desenvolvimento integrado
9 Aplica��es
10 Ver tamb�m
11 Refer�ncias
12 Bibliografia
13 Liga��es externas
Hist�ria
Python foi feita com base na linguagem ABC, possui parte da sintaxe derivada do C,
compreens�o de listas, fun��es anonimas e fun��o map de Haskell. Os iteradores s�o
baseados na Icon, tratamentos de exce��o e m�dulos da Modula-3, express�es
regulares de Perl.
Ainda na CNRI, Guido lan�ou a iniciativa Computer Programming for Everybody (CP4E;
literalmente, "Programa��o de Computadores para Todos"), que visava tornar a
programa��o mais acess�vel, um projeto financiado pela DARPA.[10] Atualmente o CP4E
encontra-se inativo.
J� o 1.6 incluiu uma licen�a CNRI substancialmente mais longa que a licen�a CWI que
estavam usando nas vers�es anteriores. Entre outras mudan�as, essa licen�a inclu�a
uma cl�usula atestando que a licen�a era governada pelas leis da Virg�nia. A Free
Software Foundation alegou que isso era incompat�vel com a GNU GPL. Tanto BeOpen
quanto CNRI e FSF negociaram uma mudan�a na licen�a livre do Python que o tornaria
compat�vel com a GPL. Python 1.6.1 � id�ntico ao 1.6.0, exceto por pequenas
corre��es de falhas e uma licen�a nova, compat�vel com a GPL.[12]
Python 2.1 era parecido com as vers�es 1.6.1 e 2.0. Sua licen�a foi renomeada para
Python Software Foundation License. Todo c�digo, documenta��o e especifica��o desde
o lan�amento da vers�o alfa da 2.1 � propriedade da Python Software Foundation
(PSF), uma organiza��o sem fins lucrativos fundada em 2001, um modelo tal qual da
Apache Software Foundation.[12] O lan�amento incluiu a mudan�a na especifica��o
para suportar escopo aninhado, assim como outras linguagens com escopo est�tico.
[13] Esta funcionalidade estava desativada por padr�o, e somente foi requerida na
vers�o 2.2.
Uma grande inova��o da vers�o 2.2 foi a unifica��o dos tipos Python (escritos em C)
e classes (escritas em Python) em somente uma hierarquia. Isto tornou o modelo de
objetos do Python consistentemente orientado a objeto.[14] Tamb�m foi adicionado
generator, inspirado em Icon.[15]
Mudan�as da vers�o incluem a altera��o da palavra reservada print, que passa a ser
uma fun��o, tornando mais f�cil a utiliza��o de uma vers�o alternativa da rotina.
Em Python 2.6, isso j� est� dispon�vel ao adicionar o c�digo from __future__ import
print_function.[23] Tamb�m, a mudan�a para Unicode de todas as cadeias de
caracteres.[24]
Em 2012, foi criado o Raspberry Pi, cujo nome foi baseado na linguagem Python. Uma
das principais linguagens escolhidas � Python. Python influenciou v�rias
linguagens, algumas delas foram Boo e Cobra, que usa a indenta��o como defini��o de
bloco e Go, que se baseia nos princ�pios de desenvolvimento r�pido de Python.
Filosofia
Python 3. The standard type hierarchy.png
Parte da cultura da linguagem gira ao redor de The Zen of Python, um poema que faz
parte do documento "PEP 20 (The Zen of Python)",[25] escrito pelo programador em
Python de longa data Tim Peters, descrevendo sumariamente a filosofia do Python.
Pode-se v�-lo atrav�s de um easter egg do Python pelo comando:
Tipos de dado
A tipagem de Python � forte, pois os valores e objetos t�m tipos bem definidos e
n�o sofrem corre��es como em C ou Perl. S�o disponibilizados diversos tipos de
dados nativos:
Antes da vers�o 3.0, Python possu�a dois tipos de classes: "old-style" e "new-
style". Classes old-style foram eliminadas no Python 3.0, e todas s�o new-style. Em
vers�es entre 2.2 e 3.0, ambos tipos de classes podiam ser usadas. A sintaxe de
ambos estilos � a mesma, a diferen�a acaba sendo de onde objeto da classe �
herdado, direta ou indiretamente (todas classes new-style herdam de object e s�o
instancias de type). As classes new-styles nada mais s�o que tipos definidos pelo
usu�rio.
Palavras reservadas
O Python 2.5.2 define as seguintes 31 palavras reservadas:[27]
Quanto aos operadores l�gicos, at� Python 2.2 n�o havia o tipo de dado booleano. Em
todas as vers�es da linguagem os operadores l�gicos tratam "", 0, None, 0.0, [] e
{} como falso, enquanto o restante � tratado como verdadeiro de modo geral. Na
vers�o 2.2.1 as constantes True e False foram adicionadas (subclasses de 1 e 0
respectivamente). A compara��o bin�ria retorna uma das duas constantes acima.
Interpretador interativo
O interpretador interativo � uma caracter�stica diferencial da linguagem, porque h�
a possibilidade de testar o c�digo de um programa e receber o resultado em tempo
real, antes de iniciar a compila��o ou inclu�-las nos programas. Por exemplo:
>>> 1+1
2
>>>
>>> a = 1+1
>>> print a
2
>>> print(a)
2
>>>