马上放假了哈,真是一点心思都没有,想早点休息了。
一、from/import例1:
如图,在test.demo1中a = 8,在demo6中:
from test import demo1 print(demo1.a) #或者: from test.demo1 import a print(a) >>> 8
例2:
test.demo1中多个变量:
a = 8 d = 6 c = 6
demo6中:
from test.demo1 import * print(a) print(d) print(c) >>> 866
如果指定*对应的变量,在test.demo1中:
__all__= ['a','c'] a = 8 d = 6 c = 6
此时demo6的执行结果变为:
NameError: name 'd' is not defined
删除print(d)后正常,执行结果:8 6
例3:
在demo5中:
a = 2 b = 'ok' c = 'strange'
在demo4中:
#加入换行后认为是同一行 from demo5 import a,b, c print(a,c,b) >>>2 strange ok二、__init__.py
在test.__init__中输入:
d = '我被执行了' print(d)
test.demo1中:
__all__= ['a','c'] a = 8 d = 6 c = 6
在demo6中:
from test.demo1 import a print(a)
输出结果:
我被执行了 8
在导入test.demo1时__init__会被自动执行。
用途:①限制包中变量的使用②避免重复定义/导入



