一、import和from...import
首先,什么是import?
import就是导入的一次。在python中导包,导入一个模块。就相当于是导入一个功能,帮助我们搞一些事情。
1.1 import的三种形式
-
例如:import time:导入time模块。
使用import time导入的时候,使用方法只能 time.方法名() ,不能直接方法名
-
例如:from time import *: 导入time模块中的所有功能
导入time模块中的所有功能
-
例如:from time import time: 导入time模块中的特定功能
直接使用time模块中需要的功能
1.2 import 发生的3件事情
- 在内存中生成一个叫做time的名称空间
- 运行time.py文件,然后把time.py文件内的名称空间放入time的名称空间内
- 把time的名称空间指向 import和from...impot.py(当前导入time模块的文件) 的名称空间中
1.3 __all__对from...import的限制
代码中当然是不提倡用 from xxx import *
的写法的
这么说是有一定道理的。第一:避免重名。第二:__all__
对于from xxx import *
是有限制的。
在python中 使用 __all__
暴露接口,使得通过__all__
控制 from xxx import *
的行为。
当使用from xxx import *
只能导入 __all__
中列出的接口。
但对于import test
和from xxx import xxx
不会限制。