[python]import 与from import 区别

http://www.cnblogs.com/ptfblog/archive/2012/07/15/2592122.html

建议有节制的使用from import
1 尽量优先使用import a,import a.B
2 有节制使用from a import B
3 尽量避免使用from a import * 会污染命名空间

A 会导致命名空间冲突
例如a.py,b.py都有add 函数
from a import add
from b import add


if __name__ == '__main__'
  math()


第二个from import 会覆盖掉第一个。使用了第二个add

B 循环嵌套导入的问题
c.py
from d import g

def x():
  pass



d.py
from c import x

def g():
  pass


上面2个文件都会执行失败。建议直接使用import

c.py
import d

def x():
  pass



d.py
import c

def g():
  pass

猜你喜欢

转载自lhdst-163-com.iteye.com/blog/2326001