Resumo
Python é uma linguagem de programação de alto nível, interpretada, multiparadigma e de tipagem dinâmica, criada por Guido van Rossum em 1991. Projetada para priorizar a legibilidade e produtividade do programador, é amplamente utilizada em diversas áreas, como ciência de dados, desenvolvimento web e automação. Seu nome foi inspirado no grupo humorístico Monty Python.
A linguagem teve origem no Instituto CWI, nos Países Baixos, como sucessora da ABC, incorporando funcionalidades de diversas linguagens como C, Haskell e Modula-3. A primeira versão (0.9.0) já possuía herança, tratamento de exceções e módulos. Em 1994, foi lançado o Python 1.0, introduzindo recursos como lambda e map.
A versão 2.0, lançada em 2000, trouxe melhorias como list comprehensions e coleta de lixo aprimorada. Em 2008, foi lançada a versão 3.0, trazendo mudanças significativas, como a conversão de strings para Unicode e a modificação do comando print
para função. Python se tornou um dos componentes padrão em diversos sistemas operacionais e é amplamente utilizado em universidades e na indústria.
A filosofia do Python é descrita no "The Zen of Python" (PEP 20), que enfatiza legibilidade, simplicidade e clareza. Pode ser acessado no interpretador com import this
.
A linguagem possui tipagem forte e permite a definição de tipos personalizados via classes. Antes da versão 3.0, existiam dois tipos de classes ("old-style" e "new-style"), mas agora todas seguem o modelo "new-style", permitindo herança e metaprogramação.
Python usa operadores comuns de comparação e lógicos, com avaliação mínima, garantindo eficiência na execução de expressões condicionais. A indentação é obrigatória e define blocos de código, tornando a leitura mais intuitiva. Erros de indentação geram exceções, e o uso de uma IDE pode evitar problemas.
Python compila programas em bytecode para otimizar execuções futuras, armazenando-os em arquivos .pyc
ou .pyo
. O interpretador analisa, compila e executa o código na máquina virtual. O bytecode é legível e pode ser descompilado com o módulo dis
, embora existam técnicas para dificultar essa análise.
A linguagem é orientada a objetos, onde tudo é tratado como objeto, incluindo números e funções. Suporta herança múltipla, metaclasses e polimorfismo, mas não possui overloading. O encapsulamento é apenas uma convenção (_ para privado, __ para modificação de nome). Módulos e pacotes organizam o código, e um diretório com vários módulos é um pacote, identificado por __init__.py
.
Na programação funcional, Python oferece compreensão de listas e funções como objetos de primeira classe. Possui lambdas limitados a expressões simples e suporta clausuras léxicas e geradores para avaliação preguiçosa de funções.
Python oferece duas formas de documentação: comentários (com #
, limitados a uma linha) e cadeias de caracteres (strings delimitadas por aspas, podendo ser acessadas pelo interpretador e ferramentas de documentação).
A linguagem é multiplataforma, suportada em diversos sistemas operacionais e dispositivos. Sua principal implementação é o CPython, mas há variações como Stackless Python (suporte a microthreads), Jython (Java), IronPython (.NET) e PyPy (escrita em Python). Outras versões incluem PyS60 (para celulares Nokia) e Pippy (para Palm).
Python possui uma grande biblioteca padrão, permitindo desenvolvimento para web, bancos de dados, interfaces gráficas e manipulação de expressões regulares. Seu desenvolvimento é guiado pelos PEPs (Python Enhancement Proposals), revisados por uma comunidade liderada por Guido van Rossum.
A linguagem é distribuída sob uma licença livre compatível com a GPL, permitindo distribuição de binários sem código-fonte.
Grandes empresas e projetos usam Python, incluindo Google, NASA, YouTube, BitTorrent e a Air Canada. A linguagem é amplamente utilizada em softwares de edição gráfica (Blender, Maya, GIMP) e sistemas operacionais como Linux (usado pela Red Hat para gerenciamento de pacotes).