gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 04:12:30 25 4
gpt4 key购买 nike

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

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

name辅助方法我可以轻松获取全名:

>>> u = User()
>>> u.first_name
'Mr'
>>> u.name()
'Mr Anderson'

但问题是我不想打电话name作为一种方法,但作为一种属性。有没有办法让它表现得像这样:

>>> u = User()
>>> u.name
'Mr Anderson'

最佳答案

您必须使用@property装饰器。

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

@property
def name():
return self.first_name + ' ' + self.last_name

如果您不熟悉decorator ,您必须知道这些是函数或类,它们包装了前置的方法或函数。

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

关于python - 如何在Python中将方法作为属性调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34720753/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com