【发布时间】:2011-01-11 08:49:20
【问题描述】:
我有以下代码
class Transcription(object):
WORD = 0
PHONE = 1
STATE = 2
def __init__(self):
self.transcriptions = []
def align_transcription(self,model,target=Transcription.PHONE):
pass
这里的重要部分是我希望有一个类成员作为变量的默认值。然而,这会产生以下错误:
NameError: name 'Transcription' is not defined
为什么这是不可能的,什么是正确的(pythonic)方法来做这样的事情。
【问题讨论】:
-
正确的方法?很难说,你想做什么?为什么要将对象的类传递给该对象的函数?我看不出你想在这里做什么。
-
他想使用一个作用域为类的常量作为方法参数的默认值。
-
没错。我的错。语法着色使我蒙蔽了双眼。 :)
标签: python class-members