立即学习:https://edu.csdn.net/course/play/26676/402876?utm_source=blogtoedu
模块:.py 的文件就是模块
.py 文件作为模块,在被加载时会自上而下执行其中的所有代码
.py 文件里写的所有一级内容(类、函数、变量等),在默认情况下,import模块时都会作为模块的内容。在 import module_name 后,使用 dir(mudle_name),可以看到一级内容是模块的一部分
如果想保留一些一级内容作为调试结果,在直接执行脚本时被执行,而在import 模块时不执行,就使用 "__main__" 做判断:
if __name__ == "__main__": 将调试内容写在这个判断里,就代表该部分代码仅在module作为脚本被直接执行时被调用,这里面的一级内容,在import 时不会作为模块的一部分内容
__name__ 属性是每个对象都具有的,在 import 一个模块后,在外面获取模块的__name__值,为模块的名称;如果在模块里直接调用 __name__,就会等于 ”__main__“
加载路径:sys 模块的 path 属性是一个列表,里面存储的是加载模块时搜索的路径列表,在列表里的路径中的模块才会被加载到,加载顺序是排在前面的优先
如果要使用的模块所在路径在 sys.path 属性里不存在,则可以使用 sys.path.append(new_path)进行临时追加
包:有一定层次的目录结构,里面包括 .py 文件、子目录和 __init__.py文件