50讲 模块作业 求教
题目要求是设置一个常量Const类常量的值不可修改,名字必须大写
我用小甲鱼的代码跑了一下
为什么下面的情况会不报错?
把文本代码发出来 qiuyouzhi 发表于 2020-4-2 14:46
把文本代码发出来
代码就这么长,第二张图可以理解为程序运行了之后在idle里测试了一下 timmothy 发表于 2020-4-2 14:49
代码就这么长,第二张图可以理解为程序运行了之后在idle里测试了一下
我要的是能复制的代码
我在本地测试 qiuyouzhi 发表于 2020-4-2 14:51
我要的是能复制的代码
我在本地测试
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() timmothy 发表于 2020-4-2 14:58
class Const:
def __setattr__(self, name, value):
if name in self.__dict__:
刚才测试了下,你在调用的时候
必须要这样:
Const().name = 'A' qiuyouzhi 发表于 2020-4-2 15:04
刚才测试了下,你在调用的时候
必须要这样:
可是这样子再对Const().NAME进行修改也没有提示不能修改常量的错误啊
页:
[1]