我想尝试用不可变的数据结构替换python的可变数据结构(类似于clojure)。
对内置列表类进行子类化工作,您可以覆盖__builtin__.list
,但我还没有找到任何改变内置语法引用的方法
__builtin__.list = ImmutableListClass
my_list = [1, 2, 3]
print type(my_list)
>>> <type 'list'>
有没有办法改变这种行为,还是在解释器中硬编码?
免责声明:我知道这绝不应该在一个严肃的项目中完成,而且纯粹是为了我自己的娱乐。
答案 0 :(得分:0)
由于这些模块是用C语言编写的,因此不能使用.so
扩展名。但是你可以尝试使用禁果:
答案 1 :(得分:-2)
是的,有可能。 This answer做了类似的事情,尽管有些说法,所以我想它可以适应。但是,我太害怕了,不能尝试。