python import详解

本文详细解析了Python中import语句的工作原理,包括模块如何被加载到内存中,并且避免重复加载,通过实例演示了模块之间的相互引用过程。

1.import作用
引入模块

2.import的特点
一个程序中,import的模块不会重复被引用,如:

# test1.py
import test2
print test2.attr

# test2.py
import test1
attr = 'hello world'

# test.py
import test1

运行结果:
300946-20171108130904575-1352510397.png

结果分析:
当执行test.py时,执行import test1语句
1)判断test1是否在sys.modules中,不在,则创建一个新的module对象test1,放到sys.modules中,然后执行test1.py的其他语句,填充module test1的__dict__属性。
2)test1.py的第一句是import test2,判断test2是否在sys.modules中,不在,则创建一个新的module对象test2,放到sys.modules中,执行test2.py中的其他语句。
3)test2.py的第一句是import test1,由于test1模块在sys.modules中有了,所以会跳过这条import,执行test2.py中的其他语句,也就是"attr='hello world'",并放到了test2模块的__dict__属性。
4)接着会执行test1.py中的其他语句,即"print test2.attr",也就是"hello world"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值