day-13包和模块

本文介绍了Python中的模块概念,包括如何导入和使用模块,如math和random模块进行数学运算和生成随机数,以及time模块处理时间戳。详细讲解了浮点数转换、绝对值计算、随机数生成以及时间戳与结构体时间的转换。此外,还探讨了阻止模块导入时执行特定代码的方法。
摘要由CSDN通过智能技术生成

day-13包和模块

1 模块

1 模块
python中一个.py文件就是一个模块

2 怎么在一个模块中使用另外一个模块的内容
前提:被使用的模块名必须符合变量名的要求(是标识符不是关键字
对使用者自身自身没有要求
能被使用的内容:所有不受限制的全局变量
怎么用:使用别的模块内容前,必须先导入模块

导入模块
1)import 模块名 导入指定模块:导入后可以通过 ‘模块名.xxx’ 的当时使用这个模块中的所有所有所有全局变量
2)from 模块名 import 变量名1,变量名2,…
导入指定模块,导入后可以直接使用指定的变量
3)from 模块名 import *
导入指定模块所有变量,导入后可以直接使用所有变量
4)import 模块名 as 新模块名
导入指定模块并且对模块进行重命名,重命名后调用该模块变量需要通过新模块名来代替元模块名
(一般是本模块中的变量名与要导入的模块名冲突了或导入的模块名太长)
5)from 模块名 import 变量名1 as 新变量名1,变量名2,变量名3 as 新变量名3.导入模块的原理:
把模块中的代码全部加载一遍,将其加载到内存中
不管以怎么样 的方式导入模块,导入模块的时候进入到该模块中把所有的代码都执行一边

阻止导入
应为导入模块的的时候默认执行模块中 所有代码,就会导致有些完全没有必要的代码在导入的时候执行
如果希望导入模块的时候默些代码可以不执行,就需要去阻止代码子啊导入的时候执行
阻止方法:将不要执行的语句放到 if name == ‘main’: 语句里面

2 数学模块

1 math cmath
math 普通数字对应的模块

cmath 复数对应的数学模块

浮点数转整数
int(浮点数)------直接去掉小数部分(不考虑四舍五入,向小取整等)
math.cell()
向大取整
math.floor()
向小取整
round()
四舍五入
print(round(1.5))-----2
print(round(4.5))-----4
注意: x.5 的情况x如果是奇数就是入,x是偶数就舍

2 求绝对值
abs(数字)
里面的数字是整数就返回整数,里面是浮点数返回值就是浮点数

math.fabs()
无论里面的数字是浮点还是整数返回值都是浮点数

3 随机模块

1 创建随机整数 randint(a,b) 产生[a,b]的随机整数

2 创建随机小数: random() 产生[0,1)的随机小数

3 在指定的等差数列中随机获取一个数
randrage(start,end,step) start 可以取到,end取不到
4 洗牌 shuffle() 随机打乱列表的元素位置
5 抽牌 随机抽取有序序列中的元素

random.choice() 随机抽取序列中的元素
有放回的抽取:
random.choices(序列) 一次可以随机获取一个元素,返回值是一个列表
random.choices(序列,k=个数) 一次可以随机获取指定个数个元素,返回值是一个列表(有放回的抽取)
random.choices(序列,k=个数,weight=[数量1,数量2…])
weight=[]列表元素为权重,与前面序列中的元素一一对应

无放回的抽取:
random…sample(序列,k=次\个数) 3.9以前的版本
random…sample(序列,k=次数,counts=权重列表) 3.9以后的版本

4 time模块

1 time() 获取当前时间,返回的是时间戳

时间戳:通过保存一个时间到 1970年1月1日0时0分0秒(格林威时间) 的时间差(单位:秒)来保持一个时间值
格林时间与北京时间存在八小时时差

用时间戳保存时间的优点:1)比其他保存方式更节约内存
2)加密解密方便

time.localtime(时间戳) 将时间戳转换为结构体时间

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值