模块导入与重载——导入与重载基础——注意
版本差异说明:Python 3.X 将 reload 内置函数移动到 imp 标准库模块。它仍然像以前那样重载文件,但为了使用它必须先导入它。在 3.X 中, 运行 import imp 然后使用 imp.reload(M) 或运行如同这里显示的 from imp import reload 然后使用 reload(M)。下一节将讨论 import 和 from 语句,然后在本书后面会更正式地讨论。
如果正在使用 Python 2.X, reload 是作为内置函数可用的,所以不需要导入。在Python 2.6 和2.7 中, reload 则是两种形式都可用——内置和模块函数——这是为了帮助过渡到 3.X。换句话说,在3.X中重载仍是可用的,但需要一行额外的代码来获取 reload 调用。
3.X中的(将reload)移动(到imp)的部分原因很可能是一些著名的涉及reload 和 from语句的问题,这些问题将在下一章遇到。简而言之,用 from加载的名称不会直接被一次 reload 更新,但用 import 语句访问的名称却会被更新。如果在reload后,名称看起来没有变化,尝试更换为 import 和 module.attribute 名称引用。
学习 Python:强大的面向对象编程(第 5 版)
关于 LearnKu
推荐文章: