python模块

定义

  1. 一个.py文件就是一个模块,它是Python的最小封装单位。

分类

  1. 内置模块:Python内部提供的模块,如time,random
  2. 自定义模块:自己编写的模块
  3. 第三方模块:别人写好的模块

组成

  1. 可执行语句:可以立即执行的语句,如print,函数调用等
  2. 定义语句:定义某个变量或者函数等的语句,如a = 10,def func()

模块的执行方式

  1. 脚本方式执行:用于测试阶段,测试模块功能以及排除错误
  2. 导入方式执行:用于生产阶段,为其他模块提供资源

如何判断模块当前的执行方式

  1. 使用__name__方法,判断模块当前处于脚本方式执行,还是被导入
__name__:如果模块是被导入的状态,打印此方法会返回模块本身的名字,否则返回的是固定的字符串__main__ 

图片

图片

自定义模块的编写

创建模块

  1. 即创建一个.py文件,即为创建一个模块

编写模块

  1. 定义语句:这部分是要提供给其他模块的资源
  2. 可执行语句:一般是用作模块功能的测试
  3. 测试模块:模块提供给其他人调用,但是模块中的可执行语句不能输出给调用者,所以需要编写测试模块,对可执行语句进行编排,在以脚本执行的时候打印可执行语句,但是如果被导入则不打印,这时可以使用上面的__name__方法
  4. 注释部分,为复杂的逻辑加上解释说明,一般使用多行注释
if __name__ == '__main__': 
  可执行语句 

图片

图片

编写模块补充

  1. 拓展:使用__all__方法控制一个模块可被导入的成员个数(仅对from 模块 import方式的导入生效)
__all__ = ['成员1', '成员2',......] 

图片

图片

模块的存放路径

  1. 第三方模块一般存放在:/$your_path/site-packages
  2. 内置模块存放在:/$your_path/lib/
  3. 自定义模块:要将其.py文件所在的路径放置在sys.path列表中,Python才能检索到该模块并正常使用,sys.path是一个列表,它包含了Python搜索模块的默认路径,有些像Linux的环境变量。

使用模块

导入模块的方式

  1. 只导入一个模块
import 模块名 
from 模块名 import * 
#二者的区别在于,使用第一种方式导入,再使用模块内部的功能时,必须加上模块名,不是很方便,但解决了变量名冲突的问题 
#第二种方式,则不需要加上模块名,但有可能会与本模块内部的变量产生变量名冲突。 

图片

图片

图片

  1. 同时导入多个模块
import 模块1,模块2..... 
#一般不建议使用这种方式 
  1. 只导入模块中的指定成员
from 模块 import 功能1,功能2,....... 

图片

  1. 相对导入
#同一个项目下,不同模块之间的导入。(坑很多最好使用绝对导入,这种绝逼不会错) 
from 绝对路径 import 成员 

图片

图片

常用的内置模块random

  1. random.random():随机生成大于等于0小于1的浮点数
import random 
print(random.random()) 

图片

  1. random.uniform(a, b):随机生成大于等于a小于等于b的浮点数
import random 
print(random.uniform(1, 6)) 

图片

  1. random.randint(a,b):随机生成大于等于a,小于等于b的整数
import random 
print(random.randint(1, 3)) 
  1. random.shuffle(x):将指定列表x随机打乱
l = [i for i in range(4)] 
print(l) 
import random 
random.shuffle(l) 
print(l) 
  1. random.sample(x,k):从指定的对象x中取k个值
l = [i for i in range(4)] 
import random 
print(random.sample(l, 2)) 
posted on 2020-08-03 21:39  littleSUKI  阅读(121)  评论(0)    收藏  举报