我想让Python的装饰师为我工作。我很难理解为什么这样不行:
class toy(object):
@property
def toyname(self):
return 'lol'
a = toy
print(a.toyname)
当我运行它时,我得到以下输出:
<property object at 0x03362FC0>
看来,这处房产没有被评估。你知道吗
我已经看到了一些关于python2.x的答案,其中提到我需要对object
进行子类化才能使属性工作;然而,我到目前为止遇到的答案并不能解决我的问题。你知道吗
Tags:
引起问题的是
a = toy
行。a = toy
的意思是“将变量a
指向类toy
的定义”。实际上您要做的是a = toy()
,实例化一个类型为toy
的对象并将其保存在a
。你知道吗toy
是类的蓝图。toy()
是可以使用的类的新副本或新实例。您需要“实例化”它,这意味着您需要创建一个类的新实例来分配给a。换句话说,您需要a = toy()
而不是a = toy
试试这个:
相关问题 更多 >
编程相关推荐