|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
Python零基础入门 50讲 动动手:
输入代码后,与答案不一样,不出现报错,无论更改常量的值,还是常量名为小写,都不报错,正常赋值。
请问是怎么回事呢?
代码如下:
# 该模块用于让 Python 支持常量操作
class Const:
def __setattr__(self, name, value):
if name in self.__dict__:
raise TypeError('常量无法改变!')
if not name.isupper():
raise TypeError('常量名必须由大写字母组成!')
self.__dict__[name] = value
import sys
sys.modules[__name__] = Const()
# const 模块就是这道题要求我们自己写的
# const 模块用于让 Python 支持常量操作
import const
const.NAME = "FishC"
print(const.NAME)
try:
# 尝试修改常量
const.NAME = "FishC.com"
except TypeError as Err:
print(Err)
try:
# 变量名需要大写
const.name = "FishC"
except TypeError as Err:
print(Err) |
|