2016-05-09 7 views

Antwort

3

Verwenden Sie den Klassennamen Blah noch nicht, da es noch nicht fertig gebaut ist. Aber Sie können direkt die Klasse Mitglied ABC zugreifen, ohne dass es mit der Klasse prefacing:

class Blah: 
    ABC, DEF = range(2) 

    def meth(self, arg=ABC): 
     print arg 

Blah().meth() 
# it prints '0' 

Es funktioniert auch ‚neue‘ Stil Klassendefinition, zB:

class Blah(object): 
    ABC, DEF = range(2) 

Mit der Zeit habe ich wirklich kam in Python, neue Stilklassen waren die Norm, und sie sind viel mehr wie andere OO-Sprachen. Also das ist alles was ich benutze. Nicht sicher, was die Vorteile (wenn überhaupt) sind, mit der alten Art zu bleiben .. aber es scheint veraltet, so würde ich sagen, dass, wenn es keinen Grund gibt, ich den neuen Stil verwenden würde. Vielleicht kann jemand anderes dazu etwas sagen.

+0

'Klasse Blah:' definiert eine "Nur-Stil" -Klasse in Python 3, wo Sie nicht mehr explizit von "Objekt" erben müssen. – chepner