如何在Python中将方法作为属性调用?

如何在Python中将方法作为属性调用?,python,class,object,methods,properties,Python,Class,Object,Methods,Properties,假设我有一个代表用户的类: class User(object): def __init__(): self.first_name = 'Mr' self.last_name = 'Anderson' def name(): return self.first_name + ' ' + self.last_name 使用namehelper方法,我可以轻松获得全名: >>> u = User() >>

假设我有一个代表用户的类:

class User(object):
    def __init__():
        self.first_name = 'Mr'
        self.last_name = 'Anderson'
    def name():
        return self.first_name + ' ' + self.last_name
使用
name
helper方法,我可以轻松获得全名:

>>> u = User()
>>> u.first_name
'Mr'
>>> u.name()
'Mr Anderson'
但问题是,我不想将
name
作为方法调用,而是作为属性调用。我有没有办法让它表现得像这样:

>>> u = User()
>>> u.name
'Mr Anderson'
你必须使用装饰器

class User(object):
    def __init__():
        self.first_name = 'Mr'
        self.last_name = 'Anderson'

    @property
    def name():
        return self.first_name + ' ' + self.last_name
如果您不熟悉,您必须知道这些函数或类包装有前置的方法或函数


因此,使用
@property
装饰器将函数包装到类中,并允许您将其作为类的任何属性进行操作。

当我将此问题的标题粘贴到Google搜索中时,链接的副本是第一个结果。