python import

原创
2013/08/06 16:41
阅读数 53

import可以有一下几种形式:

import A (推荐都使用这种方式) 

将A导入到当前的namespace 变种可以时 import A.B.C.D 如果是这种情况 ABC必须是Package 而D只能是一个模块 或者时一个Pakcage

from A import B
将B导入到当前的namespace 当改变B时 对B作出的修改不会影响到A.B

X = __import__('X') (运行时才知道X的名称)

from A import *
将A中所有的public name引入到当前的namespace public name在这里指的是name明称不以_(下划线)开头的那些name

import vs loading

一个模块不管被imoprt多少次 它只会被load一次 如果有执行代码在这个模块里面 那么只有第一次被加载的时候会运行 之后import则不会去运行未包装的执行代码

What does python do to import a Module?

  1. check sys.modules to see if module is already imported, if that's the case, python will use the existing module object as is.
  2. otherwise, create a new , empty module object
  3. insert that module in sys.modules
  4. Load the module code object
  5. Execute the module code object in the new module's namespace. All variables assigned by the code will be available via the module object.
展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部