Ⅰ 循环导入
循环导入原理类似于递归函数,是一个循环的过程,在一个模块首次导入的过程中触发了第二个模块的导入,而第二个模块又触发了第一个模块的导入

针对上面的问题有两种解决方法:第一种就是将m1和m2的导入功能移动到所有全局变量的后面,让两个模块先将名字放到内存中,然后就可以正常调用了


Ⅱ 模块的搜索路径与查找优先级
我们在导入模块时,python会拿着我们需要导入的模块名先从内存中查找是否存在,然后再从内置的模块中查找,最后会从sys.path列表内多个文件依次检索.内存和内置的模块或者第三方库都是python自带的,如果我们需要导入自定义的模块的话,我们就要将模块放到python能找到的地方,比如:当前执行文件的目录下,或者使用sys.path.append(r'模块路径')将我们的模块导入到path里面的路径集内


查看一个文件是执行文件还是被当作模块调用的时候可以用到,作为一个判断

Ⅲ json模块
json模块是一个第三方的数据格式,支持将各种变成语言的数据类型转成json类型,并可以转成其他变成语言的数据类型输出,使数据共享;json工作分为两个过程:序列化:以python为例,python产生的数据==>json格式==>字符串==>写入文件中(数据,可以共享);反序列化:比如:其他语言从程序想要使用python产生的数据:从硬盘中的文件中读取数据==>字符串==>json数据格式==>转为其他语言的数据类型

网友评论