第50讲疑惑
# 该模块用于让 Python 支持常量操作class Const:
def __setattr__(self, name, value):
if name in self.__dict__:
raise TypeError('常量无法改变!')
if not name.isupper():
raise TypeError('常量名必须由大写字母组成!')
self.__dict__ = value
import sys
sys.modules = Const()
最后两行不太理解为什么,我把最后两行注释掉了,导入这个模块,就不能正常的使用,仅仅能赋个值(const.temp = 123) 大佬,这题的self.__dict__ = value怎么理解 这里的字典不是模块名(key)和模块(value)吗?
还有最后一句 sys.modules = Const()是将这个主程序的模块名修改为Const了吧?
求大佬解答,这题困扰了我很久了{:10_266:} 求大佬解惑{:10_250:}
页:
[1]