# 首先载入模块:# 先是内置模块# 再是扩展的 如:django# 后是自定义的# 模块就是一个文件# import demo# def read():# print('my read func')# demo.read()# print(demo.money)# 先从sys.modules里查看是否已经被导入# 如果没有被导入,就依据sys.path路径去寻找模块# 找到了就导入# 创建这个模块的命名空间# 执行文件,把文件中的名字都放到命名空间里# import sys# print(sys.modules.keys())# print(sys.path)# 可以定义别名# 有别名了就只能用别名,本身的变量名不能用了# import time as t# print(t.time())# 别名例子# 有两个数据库软件# oracle# mysql# if 数据库 == 'oracle':# import oracle as db# elif 数据库 == 'mysql'# import mysql as db# 连接数据库 db.connect# 登录认证# 增删改查# 关闭数据库# 可以写在一行,但可读性差,不建议这样用# import time,sys,os# import demo# from demo import 变量名# from demo import money,read# # print(money)# # read()# money = 200# read()# from demo import money,read# # print(money)# # read()# money = 200# read()# from time import *# # sleep = 10# sleep(1)# from math import pi# print(pi)# pi = 3# print(pi)# from demo import *# print(money)# read()# import demo# print(demo.money)# 定义:# 所有的模块导入都应尽量往上写 # 内置模块 # 扩展模块 # 自定义模块# 模块不会重复被导入:sys.modules# 从哪导入模块 :sys.path# import# import 模块名 # 模块名.变量名 和本文件中的变量名完全不冲突# import 模块名 重命名的模块名:提高代码的兼容性# import 模块名1,模块名2,。。。# from import# from 模块名 import 变量名 # 直接使用 变量名 就可以完成操作 # 如果本文件中有相同的变量名会发生冲突# from 模块名 import 变量名 as 重命名变量名# from 模块名 import 变量名1,变量名2,。。。。# from 模块名 import * # 将模块中的所有变量名都入到内存中 # 如果本文件中有相同的变量名会发生冲突# from 模块名 import * 和 __all__是一对 # 没有这个all,就会导入所有的变量和函数 # 如果有all,只导入all列表中的名字# __name__# 在模块中 有一个变量__name# 当我们直接执行这个模块的时候,__name__ == '__mail__'# 当我们执行其他模块,在其他模块中引用这个模块的时候,这个模块中__name__就是这个模块名
来源:https://www.cnblogs.com/xiuyou/p/11524204.html