Python为什么要用import导入模块?何不直接导入所有模块更省事
知乎上有人问,Python为什么需要用import导入模块?直接自动将所有模块都导入不是更好吗?
其实答案很简单,直接自动将所有模块导入会有3个大的问题
1、效率低下,造成内存浪费
2、变量名冲突,python模块不计其数,都导入的话变量名不够用了
2、模块并不是固定的,你写的一个Py文件也可以作为模块使用,如何做到所有模块自动导入?
为了更清楚地说明问题,首先我们来了解下什么是模块?
Python模块其实就是包含变量的文件包,说简单点每个以扩展名.py结尾的源代码文件都是一个模块。
那什么是包和库呢?
为了方便调用将一些功能相近的模块组织在一起,或是将一个较为复杂的模块拆分为多个组成部分,可以将这些 .py 源程序文件放在同一个文件夹下。
按照 Python 的规则进行管理,这样的文件夹和其中的文件就称为包,库则是功能相关联的包的集合。
我们导入模块时,就拥有了对模块文件的全局作用域中名称的访问权,模块的内容就通过其属性被外部使用。
那么使用import导入时,会执行三个步骤。
1、搜索:找到模块文件
2、编译:编译成字节码
3、运行:执行模块的代码来创建其所定义的对象
所以说需要什么模块就import导入什么模块,这样既提升效率,又能降低硬件负担。
评论