day23 模块引入的一些说明

  模块导入多次也是只导入一次
  sys.modules里面会查看有没有被导入
  导入后的模块内部的函数,变量就都可以拿来用了
  给模块起别名,可以提高代码的兼容性
    import time as t
    但是被起别名的模块之前的名字无法再被调用
  为增加可读性,遵循原则
  模块的引入最好不要一起引入
  而且导入的时候最好在一开始的时候导入
  导入的模块的顺序,先导入内置的,在导入扩展的比如django,最后在导入自定义的
  可导入整个模块,或者只导入模块的单个变量或者函数,导入的时候变量名完全不冲突的
    import demo
    from demo import money,read
  用*的时候很危险会导致变量重名,在被调用的时候如果重命名会被覆盖的,重名会冲突


所有的模块导入都应该尽量往上写
内置模块
扩展模块
自定义模块
模块不会重复被导入 : sys.moudles
从哪儿导入模块 : sys.path
import
import 模块名
模块名.变量名 和本文件中的变量名完全不冲突
import 模块名 as 重命名的模块名 : 提高代码的兼容性
import 模块1,模块2

from import
from 模块名 import 变量名
直接使用 变量名 就可以完成操作
如果本文件中有相同的变量名会发生冲突
from 模块名 import 变量名字 as 重命名变量名
from 模块名 import 变量名1,变量名2
from 模块名 import *
将模块中的所有变量名都放到内存中
如果本文件中有相同的变量名会发生冲突
from 模块名 import * 和 __all__ 是一对
没有这个变量,就会导入所有的名字
如果有all 只导入all列表中的名字
模块一导入就会执行,有时候会执行很多你不想让他马上就执行的东西,就可以用__name__来筛选出来
当我们直接执行这个模块本身的时候,__name__ == '__main__'
当我们执行其他模块,在其他模块中引用这个模块的时候,这个模块中的__name__ == '模块的名字'
利用if判断是否等于__main__可以进行区分何时执行
原文地址:https://www.cnblogs.com/shijieli/p/9913161.html