1
我有以下代碼:在方法定義中使用class屬性作爲參數?
class Blah:
ABC, DEF = range(2)
def meth(self, arg=Blah.ABC):
.....
Blah.ABC工作方法或以外的任何地方里面,只有它不工作的地方是在方法定義!
任何方式來解決這個???
我有以下代碼:在方法定義中使用class屬性作爲參數?
class Blah:
ABC, DEF = range(2)
def meth(self, arg=Blah.ABC):
.....
Blah.ABC工作方法或以外的任何地方里面,只有它不工作的地方是在方法定義!
任何方式來解決這個???
由於尚未完成構建,因此請勿使用類名Blah。但是,你可以直接訪問類成員ABC不帶班作序吧:
class Blah:
ABC, DEF = range(2)
def meth(self, arg=ABC):
print arg
Blah().meth()
# it prints '0'
它也可以使用「新」類的定義,如:
class Blah(object):
ABC, DEF = range(2)
到時候我做到了python,新風格的類是常態,它們更像其他面向對象的語言..所以這就是我使用的。不確定優點是(如果有的話)堅持以前的方式......但似乎不贊成,所以我會說,除非有理由我會使用新的風格。也許別人可以對此發表評論。
'class Blah:'在Python 3中定義了一個「唯一樣式」類,在這裏你不再需要從'object'顯式繼承。 – chepner