gpt4 book ai didi

python - 关于在 Python 中定义一个 setter

转载 作者:太空宇宙 更新时间:2023-11-04 10:20:09 25 4
gpt4 key购买 nike

假设我们有以下代码:

class A:
def __init__(self):
self.x = [p for p in range(10)]

def __getitem__(self, key):
return self.x[key]

a = A()
print a[2] #will return a.x[2] = 2

现在如何为 a[i] 定义 setter?我将如何定义装饰器?

简单属性的过程非常简单,但 Python 如何理解,在这种情况下,我想为 a[i] 定义一个 setter(类似于 @a[我].setter) ?

最佳答案

您的代码中没有任何装饰器,也不需要装饰器来支持项目分配。

只需执行 object.__setitem__() method对于你的类(class):

class A:
def __init__(self):
self.x = [p for p in range(10)]

def __getitem__(self, key):
return self.x[key]

def __setitem__(self, key, value):
self.x[key] = value

关于python - 关于在 Python 中定义一个 setter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32744445/

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