gpt4 book ai didi

Python @property 装饰器不工作

转载 作者:太空狗 更新时间:2023-10-29 20:37:14 25 4
gpt4 key购买 nike

有人能找到这个@property 装饰器的问题吗?我似乎无法让它正确断言。我敢肯定我做错了一些非常简单的事情,但是有人可以将我疲惫的眼睛指向正确的方向吗?

class A:
def __init__(self):
self.a = 0
self._b = 0

@property
def b(self):
return self.b

@b.getter
def b(self):
if self._b is None:
return 0
return self._b

@b.setter
def b(self, val):
self._b = (val * 20)


def test_getter_setter():
obj = A()
obj.a = 1
#obj.b = 2
print obj.a, obj.b
obj.b = 2
print obj.a, obj.b
assert obj.b == 40

test_getter_setter()

最佳答案

@property 装饰器只适用于新样式类。从对象继承:

class A(object):

有了这个改变,你的测试函数就通过了。

关于Python @property 装饰器不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21604388/

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