返回介绍

习题解答

发布于 2024-01-29 22:24:16 字数 576 浏览 0 评论 0 收藏 0

1.要创建模块时,只需编写一个包含Python语句的文本文件就可以了;每个原代码文件都会自动成为模块,而且也没有语法用来声明模块。导入操作会把模块文件加载到内存中使其成为模块对象。你以可以用C或Java这类外部语言编写代码来创建模块,但是这类扩展模块不在本书讨论范围之内。

2.from语句是导入整个模块,就像import语句那样,但是还有个步骤,就是会从被导入的模块中,复制一个或多个变量到from语句所在的作用域中。这样可以让你直接使用被导入的变量名(name),而不是通过模块来使用变量名(module.name)。

3.默认,模块是每个进程只导入一次。reload函数会强制模块再次被导入。这基本上都是用于开发过程中选取模块源代码的新版本,或者用在动态定制的场景中。

4.当需要读取两个不同模块中的相同变量名时,就必须使用import,而不能用from;因为你必须制定变量名所在模块,从而保证这两个变量名是独特的。

5.from语句会让变量含义模糊(究竟是哪个模块定义的),通过reload调用时会有问题(变量名还是引用对象之前的版本),而且会破坏命名空间(可能悄悄覆盖正在作用域中使用的变量名)。from*形式在多数情况下都很糟糕:它会严重地污染命名空间,让变量意义变得模糊,少用为妙。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文