gpt4 book ai didi

python - 防止/改变对类变量的访问

转载 作者:太空狗 更新时间:2023-10-29 21:55:33 24 4
gpt4 key购买 nike

<分区>

有没有一种方法可以通过重写实例变量的 __setattr__ 来阻止或改变对 Python 中类变量的访问?

请注意 this question标题错误,实际上指的是实例变量,而不是类变量。

根据阅读多篇关于(明显的)死亡陷阱的文章,即 __slots__,我宁愿不走那条路(而且我还没有充分研究以了解它是否做了什么我在问)。

例子:

class A(object):

foo = "don't change me"

def __setattr__(self, name, value):
raise ValueError

if __name__ == '__main__':
a1 = A()
print a1.foo # don't change me
print A.foo # don't change me

A.foo = 'bar' # ideally throw an exception or something here
print A.foo # bar
a2 = A()
print a1.foo # bar
print a2.foo # bar

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