将对象属性绑定到方法
这是一个关于Python的基础问题。很久以前我见过类似的东西,我相信那是在Python里。请问这可能吗,还是我搞错了?
我在寻找一种方法来实现这个;下面的例子只是想象中的代码,说明它可能的工作方式,但实际上并不能这样做。
class SomeClass:
def someMethod(self):
return self.name + ' ' + self.id
name = 'A name'
id = '37'
fullClassName = someMethod # reading this attribute would actually call the method
>>> a = SomeClass()
>>> print a.fullClassName # no parentheses as it's not a method call
A name 37
1 个回答
2
你在寻找一个属性。
>>> class SomeClass:
... name = 'A name'
... id = '37'
...
... @property
... def someMethod(self):
... return self.name + ' ' + self.id
...
... fullClassName = someMethod
...
>>> a = SomeClass()
>>> print a.fullClassName
A name 37
>>>
或者简单来说
>>> class SomeClass:
... name = 'A name'
... id = '37'
...
... @property
... def fullClassName(self):
... return self.name + ' ' + self.id
...
>>> a = SomeClass()
>>> print a.fullClassName
A name 37
>>>