模块
# 模块导入 ,应该写在文件开始的位置 # 导入顺序 # 先导入内置模块 # 再导入扩展的 比如django # 再导入自定义的 # 同一个模块,在同一个文件中多次导入,只会导入一次 # import demo 导入模块:找到这个模块,创建这个模块的命名空间(demo),然后将模块的内容加载到了命名空间demo中 # 当导入一个模块时,先去sys.modules里查看是否存在这个模块,查看是否已经被导入,如果没有被导入 # 就根据sys.path路径取寻找模块,如果找到这个模块,就创建这个模块的命名空间,将模块的内容放入到 # 命名空间中,模块的名字在sys.modules加入,然后导入这个模块。 #import sys #print(sys.modules) # 查看已导入的模块 # 给模块重命名 # import time as t # 将time模块名字重命名为t 这样time这个名字就无法用了,只能用t # print(t.time()) # from time import sleep # 从一个模块中单独导入一个方法或对象 # sleep(1) # from demo import * # 从demo模块中导入所有东西,如果demo模块中有__all__定义的内容,则导入__all__列表中定义的内容,如果没有则导入所有东西 # 当再一个A模块开始的位置定义了 __all__ = ['xxx', 'xxx1']时,此时在另一个B文件中使用 # from demp import * 则导入的是A模块文件中__all__定义的xxx和xxx1 # __name__ 在一个A文件运行A文件,A文件中的__name__就是__main__。如果不在A文件中运行A文件,而是将A文件导入到了B文件中,则运行B文件时,A文件中的__name__为文件名A # 包 # 一大堆模块的集合为包