Introdução Python, desenvolvida por Guido van Rossum, é uma linguagem multiparadigma conhecida por sua simplicidade, eficiência e vasta biblioteca padrão. História Python, criado por Guido van Rossum em 1989, sucedeu ABC para produtividade e integração. Evoluiu com exceções, módulos e, em 2008, suporte a Unicode no Python 3. Filosofia "The Zen of Python" é um poema escrito por Tim Peters, destacando a filosofia de design e princípios orientadores do Python. Alguns princípios incluem preferência por simplicidade sobre complexidade, legibilidade do código, e explícito em vez de implícito. Acessível pelo comando import this no Python, reflete valores centrais da comunidade Python como clareza, elegância e pragmatismo no desenvolvimento de software. Tipos de dado Python oferece tipagem forte com tipos de dados nativos bem definidos e suporta definição de tipos próprios através de classes. Instâncias são criadas invocando a classe (por exemplo, FooClass()). Métodos são funções anexadas à classe, referenciando explicitamente o objeto com o parâmetro self. Desde Python 3.0, todas as classes são "new-style", herdando de object e permitindo metaprogramação. Essas classes são instâncias de type, facilitando reflexão e metaprogramação. Operadores Os operadores básicos de comparação em Python (como ==, <, >=) são aplicáveis a todos os tipos de dados, incluindo números, strings, listas e dicionários. Expressões de comparação em cadeia como a < b < c são avaliadas da esquerda para a direita, e a avaliação para assim que o resultado da expressão for determinado. Python introduziu o tipo booleano com True e False na versão 2.2.1. Antes disso, valores como "", 0, None, 0.0, [], e {} eram considerados falsos em operações lógicas. Os operadores lógicos and e or seguem a lógica de avaliação mínima, garantindo que expressões como y == 0 or x/y > 100 não gerem exceções por divisão por zero se y for zero. Indentação Python enfatiza legibilidade e usa espaços em branco para delimitar blocos de código, substituindo delimitadores visuais. Indentação é obrigatória e erros nela causam exceções. IDEs facilitam ajustes automáticos. Compilador de bytecode Python é uma linguagem de alto nível que pode compilar programas em bytecode (.pyc ou .pyo) para otimizar a execução subsequente. O interpretador realiza análise léxica e sintática antes de compilar e executar, utilizando uma máquina virtual. O bytecode é legível e pode ser descompilado com o módulo dis, embora existam métodos para dificultar isso. Orientação a objetos Python suporta programação orientada a objetos com classes definidas por class Nome: seguidas de atributos e métodos. Métodos recebem self como referência à instância. Encapsulamento é convencional (atributos com _ são privados). Suporta herança múltipla, polimorfismo, e não tem overloading. Módulos são arquivos .py e pacotes são diretórios com init. Programação funcional Python suporta programação funcional com compreensão de listas, lambdas para expressões anônimas, clausuras léxicas e geradores para avaliação preguiçosa de funções desde versões iniciais. Comentários Python suporta documentação através de comentários iniciados por # e cadeias de caracteres delimitadas por ' ou ", acessíveis pelo interpretador e ferramentas de geração de documentação. Plataformas disponíveis Python é altamente portátil, disponível em diversas plataformas incluindo Unix, Windows, MacOS, e até consoles e celulares. Se necessário, pode ser compilado a partir do código fonte para bytecode multiplataforma. Implementações Python é suportado por diversas implementações como CPython, Stackless Python, Jython, IronPython, PyS60, Pippy e PyPy, cada uma adaptada para diferentes plataformas e oferecendo características únicas como microthreads e integração com sistemas operacionais específicos. Biblioteca padrão A biblioteca padrão do Python oferece suporte extenso para Internet, GUIs, bancos de dados e expressões regulares, facilitando a integração de componentes de software e aproveitando linguagens como C e C++. Desenvolvimento O desenvolvimento de Python é guiado por PEPs, discutidos por Guido van Rossum, e coordenado via lista python-dev e gerenciador Roundup em python.org. Licença Python possui uma licença livre aprovada pela OSI e compatível com a GPL, 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. Aplicações Python é amplamente utilizado em grandes projetos como Zope, YouTube, BitTorrent, e por organizações como Google, NASA e Air Canada. É também integrado em softwares de edição 3D, imagem e sistemas operacionais.