python导⼊模块时的执⾏顺序
import语句当python导⼊模块,执⾏import语句时,到底进⾏了什么操作?按照python的⽂档,她执⾏了如下的操作:
第⼀步,创建⼀个新的module对象(它可能包含多个module)
第⼆步,把这个module对象插到dule中
第三步,装载module的代码(如果需要,则必须先编译)
第四步,执⾏新的module中对应的代码。
在执⾏第三步时,⾸先需要到module程序所在的位置,搜索的顺序是:
当前路径(以及从当前⽬录指定的sys.path),pythonpath,然后是python安装时设置的相关默认路径。正因为存在这样的顺序,所以如果当前路径或pythonpath中存在与标准module相同的module,则会覆盖标准module。也就是如果当前⽬录下存在xml.py,那么执⾏import xml时,导⼊的是当前⽬录下的module,⽽不是系统标准的xml。所以我们平常起名字时不能乱起。
了解这些之后,我们就可以先构建⼀个package,以普通module的⽅式导⼊,这样就可以直接访问此package中的各个module。python2中package必须包含⼀个__init__.py的⽂件。拥有这个⽂件使得python解释器将⼦⽬录整个也当成⼀个模块,然后直接通过“import ⼦⽬录.模块”导⼊即可。如果没有这个⽂件就会被当成⼀个普通⽂件夹,⽽不是模块。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论