转载请注明原文地址:http://blog.csdn.net/majianfei1023/article/details/72901986
python有两种导入模块的方法。
1.import a2.from a import b
两者用处基本一致,但是有些细微但重要的区别.
从最外层分析
a必须是模块(.py文件级别及以上)
可以使用多层. 比如 import a.b.c.d 但是d必须是模块,前面是路径结构的模块(带__init__.py才算是模块)
from a import b
a必须是模块, b可以是模块,也可以是模块下层的属性(类,函数,定义...)
而从python的核心去分析
import a可以导入一个标准的python模块,将模块载入内存,并加到sys.modules中。多次import同一模块只是将名称导入到当前的local名字空间,也就是一个模块不会重复载入,只是加了一个引用而已。
from a import b会把b直接导入到local命名空间去,所以它可以直接使用,而不需要加上模块名的限定。
什么时候你应该使用 from module import *
如果你要经常访问模块的属性和方法,且不想一遍又一遍地敲入模块名,使用 from module import。
如果你想要有选择地导入某些属性和方法,而不想要其它的,使用 from module import。
如果模块包含的属性和方法与你的某个模块同名,你必须使用 import module 来避免名字冲突。