Python é uma das linguagens de programação mais populares do mundo , de acordo com o Índice de Tiobe . Python é uma linguagem de alto nível ; programadores não tem que gerenciar a memória . Métodos mágicos do Python são uma parte um tanto obscura de Python. Eles estão mencionados na referência da linguagem , mas não estão completamente documentada ou disponíveis para consulta em um único lugar . Métodos mágicos do Python permitir que o seu comportamento padrão a ser substituído pelo programador. Isso pode ser um recurso útil quando o comportamento padrão do Python faz codificação complicado. Métodos mágicos também pode ser perigoso . A sua natureza poderosa significa que eles podem causar resultados inesperados. Métodos mágicos são sempre cercados por sublinhados duplos . Programação Orientada a Objetos
Programação Orientada a Objetos , ou OOP , os programas de pontos de vista como uma sociedade de interagir objetos em vez de uma lista de instruções . Isso separa OOP do tradicional
estilo imperativo de programação. Em vez de entregar o computador uma lista de instruções para executar , os programadores OOP definir "objetos" e seus comportamentos . Programadores OOP orquestrar esses objetos para produzir programas úteis.
Classes e Métodos
Os principais programadores ferramenta OOP têm à sua disposição para a criação de objetos é a classe . A classe é um tipo especial de objeto cuja função é fazer com que outros objetos. As aulas podem " herdar " a partir de outras classes ou copiar seu comportamento. Os "comportamentos" de uma classe que os programadores definem são chamados de " Métodos ". Objetos também podem armazenar valores. Esses valores são chamados de " variáveis de membro ".
" __call__ "
Um método mágico importante é " __call__ ", que permite que o programador para fazer um ato objeto como uma função simples . Isso pode ser útil se o objeto em questão é conceitualmente uma função, mas a implementação é orientada a objeto. Para usar o " __call__ " método mágico , o método " __call__ " deve ser definido na classe exigível.
" __getattr__ "
Este método mágico permite que o programador substituir o modo como os valores de membro de uma classe são acessados. Este é um método mágico muito versátil e é útil para usando a sintaxe orientada a objetos do Python para acessar partes de um "objeto" que não são objeto orientado. Por exemplo , esse recurso é usado em "Beautiful Soup ", uma análise de HTML biblioteca. O método " __getattr_ " permite que os usuários de "Beautiful Soup" para atravessar HTML usando a sintaxe OOP do Python.
" __setattr__ "
Este método é menos usado do que " __getattr__ . " O método " __setattr__ " fornece uma maneira para que os programadores para substituir o comportamento padrão para definição de variáveis de membros. Este método é particularmente perigoso . Ele não deve ser usado casualmente como ele pode fazer para o código ilegível muito densa .