Python 中的 import * 语句实际上导入了什么?

Linda Hamilton
发布: 2024-11-16 06:33:03
原创
604 人浏览过

What Does the `import *` Statement Actually Import in Python?

Import * 语句导入什么

在 Python 中,import * 语句将指定模块中的所有对象导入到当前模块中。这允许使用导入模块中导出的符号(变量、类、方法等),而无需在它们前面添加模块名称前缀。

示例:

>>> from math import *
>>> pi
3.141592653589793
>>> sin(pi/2)
1.0
登录后复制

与显式导入的比较:

但是,使用 import * 通常不鼓励使用,因为:

  • 命名空间冲突:导入的对象可以覆盖当前模块中的现有符号。
  • 效率低下:导入许多对象会减慢程序速度。
  • 缺乏文档:它没有明确记录导入对象的来源。

相反,更好的做法是:

  • 仅导入特定对象: 使用 from module import object 仅导入所需的对象。
  • 导入模块及其命名空间:使用导入模块作为别名通过模块名称或别名访问导入的对象。

例外:

一些库可能有专门设计为通过 import * 导入的子模块。例如,Pygame 库的 pygame.locals 子模块包含常用的常量和函数。

从子模块导入:

从子模块导入需要显式规范,即使在子模块内使用 import * 时也是如此。例如, from urllib import * 导入所有子模块,如urllib.request。

以上是Python 中的 import * 语句实际上导入了什么?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板