本篇内容介绍了“Python种导入模块的三种方式是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
1 . import
>>> import sys
>>> sys.path
['', 'C://Python34//Lib//idlelib', 'C://Windows//system32//python34.zip',
'C://Python34//DLLs', 'C://Python34//lib', 'C://Python34',
'C://Python34//lib//site-packages']
最常见的方式,直接将要导入的模块名称写在后面导入。
2 .from … import …
与import类似,只是更明确的要导入的方法或变量,比如:
>>> from sys import path
>>> path
['', 'C://Python34//Lib//idlelib', 'C://Windows//system32//python34.zip',
'C://Python34//DLLs', 'C://Python34//lib', 'C://Python34',
'C://Python34//lib//site-packages']
但是会造成命名空间的污染,更推荐使用import。
3 . 用名称字符串导入模块
我们可能想这样导入模块:
>>> import "sys"
SyntaxError: invalid syntax
python import接收的是变量而不是字符串,那将”sys”赋值给一个变量呢?
>>> x="sys"
>>> import x
Traceback (most recent call last):
File "", line 1, in
import x
ImportError: No module named 'x'
这样也不行,这样做的意思是导入名为x的模块而非x代表的sys模块。
我们需要用到exec函数:
>>> x="sys"
>>> exec("import "+ x)
>>> sys.path郑州哪个妇科医院好 http://www.sptdfk.com/
['', 'C://Python34//Lib//idlelib', 'C://Windows//system32//python34.zip',
'C://Python34//DLLs', 'C://Python34//lib', 'C://Python34',
'C://Python34//lib//site-packages']
将导入语句构建成字符串并传递给exec函数执行。
exec缺点是每次执行都要编译,运行多次会影响性能。
更好的方式是使用__import__ 函数。
>>> x="sys"
>>> sys = __import__(x)
>>> sys.path
['', 'C://Python34//Lib//idlelib', 'C://Windows//system32//python34.zip',
'C://Python34//DLLs', 'C://Python34//lib', 'C://Python34',
'C://Python34//lib//site-packages']
这种方式需要一个变量保存模块对象,以便后续调用。
“Python种导入模块的三种方式是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
原创文章,作者:306829225,如若转载,请注明出处:https://blog.ytso.com/209241.html