鱼C论坛

 找回密码
 立即注册
查看: 1051|回复: 1

模块导入问题

[复制链接]
发表于 2018-2-11 10:34:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. # 该模块用于让 Python 支持常量操作
  2. class Const:   
  3.     def __setattr__(self, name, value):
  4.         if name in self.__dict__:
  5.             raise TypeError('常量无法改变!')
  6.             
  7.         if not name.isupper():
  8.             raise TypeError('常量名必须由大写字母组成!')

  9.         self.__dict__[name] = value

  10. import sys
  11. sys.modules[__name__] = Const()
复制代码

  1. # const 模块就是这道题要求我们自己写的
  2. # const 模块用于让 Python 支持常量操作
  3. import const

  4. const.NAME = "FishC"
  5. print(const.NAME)

  6. try:
  7.     # 尝试修改常量
  8.     const.NAME = "FishC.com"
  9. except TypeError as Err:
  10.     print(Err)

  11. try:
  12.     # 变量名需要大写
  13.     const.name = "FishC"
  14. except TypeError as Err:
  15.     print(Err)
复制代码

  1. '''
  2. sys.modules 是一个字典,它包含了从 Python 开始运行起,被导入的所有模块。键就是模块名,值就是模块对象。
  3. '''
  4. import sys
  5. sys.modules[__name__] = A()
复制代码

这段代码最后两句的作用是将 模块const 的类型变为const.Const()

有没有更好的解释。。
是将模块对象变成Const()吗
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-2-11 11:05:46 | 显示全部楼层
把模块变成对象。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-9-30 05:58

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表