我可以为特定的python命名空间重载{}字典定义元字符/运算符吗?
我要问的是如何(在纯python中),用类型({})替换类型({})== dict == instance&& isinstance({},MyDict)== True。
我有一个python语法的配置文件。我让用户能够定义字典,但我想保证字典项的顺序与用户将它们放在代码中的顺序相同。我认为可以做到的唯一方法就是如果我可以重载围绕{}字典声明字符的句法糖。
如果无法做到,那就是一个好的答案。
谢谢, Chenz
答案 0 :(得分:0)
字典文字由编译器创建(或者更确切地说,编译器发出字节码以直接创建它们)。如果你想覆盖它,那么你需要自己将源代码编译成字节码,然后遍历字节码,用你选择的字节码序列替换dict创建。