同级目录导入模块直接导入,一个py文件就是一个模块 #导入模块的方法:
1、import 模块名1,模块名2 #注意只是模块名,不药写。py等后缀
2、import 模块名 as 别名
3、from 模块名 import 函数名
4、from 模块名 import * 跟__all__ = ['money','read1']结合使用 '''
1、import直接导入模块名
import导入模块干的事 : 1、产生新的名称空间 2、在新建的名称空间为全局名称空间,执行文件的代码 3、拿到一个模块名,指向spam.py
def read1(): print('from test.py') spam.read1() #apam -> read1-> money 1000 打印的是spam模块中的read1 money = 50 print(money) # 50 print(spam.money) #1000 spam.change() #global改变 print(spam.money) # 0
2、from 模块名 import 函数或变量名
干的事 1、产生新的名称空间 2、在新建的名称空间为全局名称空间,执行文件的代码 3、直接拿到模块产生的名称空间中的名字
此种方法优缺点: 优点:方便,不用加前缀;
缺点:容易跟当前文件的名称空间冲突 。
from spam import money money=10 print(money) #注意:因为这种导入方式在用时不能用模块名.变量名的方式指定用哪个,在导入后,又重新给money函数新的指向,所以这里结果是 10 from spam import * #调用时不写spam.又可以一下子全部导入,可以在源文件中任意位置添加__all__ = ['money','read1'] 来控制可以导入那些东西