首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Python中实现类不可变的方法

在Python中实现类不可变的方法
EN

Stack Overflow用户
提问于 2011-02-15 04:16:37
回答 2查看 11K关注 0票数 18

我正在做一些分布式计算,其中多台机器在假设它们都具有不同类的相同版本的情况下进行通信。因此,让这些类变得不可变似乎是一个好的设计;并不是说它必须阻止一个怀有不良意图的用户,只是它足够不可变,以至于它永远不会被意外地修改。

我该怎么做呢?例如,我如何实现一个元类,使使用它的类在定义之后是不可变的?

代码语言:javascript
复制
>>> class A(object):
...     __metaclass__ = ImmutableMetaclass
>>> A.something = SomethingElse # Don't want this
>>> a = A()
>>> a.something = Whatever # obviously, this is still perfectly fine.

替代方法也很好,比如一个装饰器/函数,它接受一个类并返回一个不可变的类。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4996815

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档