gpt4 book ai didi

python - 在 Python : property decorator or lambda? 中定义属性的首选方式

转载 作者:IT老高 更新时间:2023-10-28 21:50:46 25 4
gpt4 key购买 nike

在 Python 中定义类属性的首选方式是什么?为什么?可以在一个类中同时使用两者吗?

@property
def total(self):
return self.field_1 + self.field_2

total = property(lambda self: self.field_1 + self.field_2)

最佳答案

对于只读属性我使用装饰器,否则我通常会这样做:

class Bla(object):
def sneaky():
def fget(self):
return self._sneaky
def fset(self, value):
self._sneaky = value
return locals()
sneaky = property(**sneaky())

更新:

最近版本的python增强了装饰器方法:

class Bla(object):
@property
def elegant(self):
return self._elegant

@elegant.setter
def elegant(self, value):
self._elegant = value

关于python - 在 Python : property decorator or lambda? 中定义属性的首选方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2406567/

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