其实,我只是个研究生。在这里,我能感觉到自己的存在。
分类: Python/Ruby
2013-04-25 19:18:48
python有三种导入模块的方法
其一,
import modname : 模块是指一个可以交互使用,或者从另一Python 程序访问的代码段。只要导入了一个模块,就可以引用它的任何公共的函数、类或属性。模块可以通过这种方法来使用其它模块的功能。
用import语句导入模块,就在当前的名称空间(namespace)建立了一个到该模块的引用.这种引用必须使用全称,也就是说,当使用在被导
入模块中定义的函数时,必须包含模块的名字。所以不能只使用 funcname,而应该使用 modname.funcname。
其二,
from modname import funcname
from modname import fa, fb, fc
或者 from modname import *
与第1种方法的区别:funcname 被直接导入到本地名字空间去了,所以它可以直接使用,而不需要加上模块名的限定
* 表示,该模块的所有公共对象(public objects)都被导入到 当前的名称空间,也就是任何只要不是以”_”开始的东西都会被导入。
modname没有被定义,所以modname.funcname这种方式不起作用。并且,如果funcname如果已经被定义,它会被新版本(该导入模块中的版本)所替代。如果funcname被改成指向其他对象,modname不能不会觉察到。
其三
内建函数__import__()
除了前面两种使用import关键字的方法以外,我们还可以使用内建函数
__import__() 来导入 module。两者的区别是,import 后面跟的必须是一个类型(type),而__import__()
的参数是一个字符串,这个字符串可能来自配置文件,也可能是某个表达式计算结果。例如
mymodule = __import__ (’module_name’)。