首页 > 编程 > Python > 正文

Python import

2019-11-10 19:53:32
字体:
来源:转载
供稿:网友

1.四种方式可以import module

import X:在当前的namespace中创建X的reference。可以通过X.name来调用X中的实体from X import *:将X中所有public对象的reference到当前namespace。直接通过name调用,X.name是无效的。from X import a, b, c:与上面方式的区别是仅仅拿到a,b,c三个对象的reference。X = __import__(‘X’):与import X效果一致。区别是可以通过string来import,这个用在运行期知道需要import的module。

2.循环import

# module Ximport Ydef spam(): PRint "function in module x"

当在main函数中import X,此时会将X挂到sys.modules下,紧接着发现import Y,所以又会将Y挂到sys.modules下。注意此时spam()还没有被执行到。如果module Y:

# module Yfrom X import spam # doesn't work: spam isn't defined yet!

或者

# module Yimport XX.spam() # doesn't work either: spam isn't defined yet!

这样都会失败。解决的办法是:

在module X中将import Y放到def spam()之后定义一个module Z,将module Y中涉及对module X的调用放在其中
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表