Python module模块 & 包 & __name__

模块:一个.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__":

posted on 2019-06-03 18:06  詹生  阅读(368)  评论(0编辑  收藏  举报

导航