模块:一个.py文件就称为一个模块(module)
module的好处:
•提高代码的可维护性,一个module编写完成,就可以被其它地方引用,不必重复编写,注意模块名应避免与python内置库重名
module分三种:
•python标准库
•第三方模块
•应用程序自定义模块
导入模块:import 模块名
例:写了一个名为cal的模块,导入cal模块,一旦导入了模块,执行当前函数的时候,会把模块从头到尾先执行一遍!
#这个是cal.py文件 print("头") def add(x,y): return (x + y) def sub(x,y): return (x - y) print("尾")
#这个是test.py文件 import cal print(cal.add(9,8)) print(cal.sub(10,9))#会发现cal里的print语句被先执行了,所以一旦import模块后,会先执行完模块里的可执行的行
from cal import * #不推荐,假如现在我调用的地方中有同名的函数,会冲突
#我是bin.py文件,我是程序的入口 import *** #这个***得和执行的文件在同一级才能识别到,其实当你执行这个当前bin.py文件时,会把当前的路径加入到sys.path路径中,所以就能被识别到了 import sys print(sys.path) #模块要在sys.path的路径里才可以直接import from ** import cal # **(**此文件必须在sys.path路径中) cal才能被识别到
#假如有多层包,p1里有p2,p2里有p3包,p3包里有cal模块,导入的方式应该是 from p1.p2.p3 import cal
#当前是cal.py文件 #关于 __name__ print(__name__) #结果就是:__main__ #特性:如果在别的模块中调用cal的话,print(__name__)会输出cal的路径
#当前是cal.py文件 #下面if判断里面的代码,在被调用时,不会执行 #假如在程序入口加入这个if条件,把代码都写入if条件内,意味着主程序不希望被别的调用 if __name__ == "__main__":