Na versão mais antiga do python, quando você cria uma classe em python, ela pode herdar de um objeto que é, até onde eu entendo, um elemento python embutido especial que permite que seu objeto seja um objeto de novo estilo.
E quanto à versão mais recente (> 3.0 e 2.6)? Eu pesquisei sobre o objeto de classe, mas obtive muitos resultados (por razões óbvias). Alguma dica?
Obrigado!
python
python-3.x
Thomas
fonte
fonte
Respostas:
Você não precisa herdar de
object
para ter um novo estilo no python 3. Todas as classes têm um novo estilo.fonte
object
independentemente de digitar um explícito(object)
ou não no Python 3.1Sei que essa é uma questão antiga, mas é importante notar que mesmo em python 3 essas duas coisas não são exatamente a mesma coisa.
Se você herda explicitamente de
object
, o que você está realmente fazendo é herdar de,builtins.object
independentemente do que isso aponte no momento.Portanto, eu poderia ter algum módulo (muito estranho) que substitui o objeto por algum motivo. Chamaremos este primeiro módulo de "newobj.py":
Depois, em algum outro arquivo ("klasses.py"):
Em seguida, em um terceiro arquivo (que podemos realmente executar):
Portanto, você pode ver que, no caso em que está explicitamente herdando do objeto, obtemos um comportamento diferente daquele onde você permite a herança implícita.
fonte