python常用标准库(math数学模块和random随机模块)
常用的标准库
数学模块
import math
ceil -- 上取整
对一个数向上取整(进一法),取相邻最近的两个整数的最大值。
import math
res = math.ceil(4.1)
print(res) # 5
floor -- 下取整
对一个数向下取整(退一法),取相邻最近的两个整数的最小值。
import math
res = math.floor(-3.9)
print(res) # -4
四舍五入
将常用的内置函数 -- round。
pow -- 幂运算
计算一个数字的N次方。
import math
""" 调用的数学模块中的方法和内置的主要区别就是内置返回整数,数学模块返回小数 """
# 数学模块
res = math.pow(2, 3)
print(res) # 8.0
# 内置函数
res = pow(2, 3)
print(res) # 8
# 更简单的方法就是使用 ** 进行幂运算
res = 2 ** 3
print(res) # 8
sqrt -- 开平方运算
import math
res = math.sqrt(9) # 结果为浮点型
print(res) # 3.0
fabs -- 绝对值
import math
""" 调用的数学模块中的方法和内置的主要区别就是内置返回整数,数学模块返回小数 """
# 数学模块
res = math.fabs(-12341234123)
print(res) # 12341234123.0
# 内置函数
res = abs(-12341234123)
print(res) #12341234123
modf -- 拆分整数小数
将一个数值拆分为小数和整数两个部分,组成元组,值为浮点型。
import math
res = math.modf(100.666)
print(res) # (0.6659999999999968, 100.0)
copysign -- 正负拷贝
将第二个参数的正负状态拷贝给第一参数。(返回浮点型)
import math
res = math.copysign(100, -200)
print(res) # -100.0
fsum -- 序列和
将一个容器中的元素进行求和运算(结果为浮点数)
import math
lst = [1, 2, 3]
res = math.fsum(lst)
print(res) # 6.0
pi -- 圆周率常数
import math
res = math.pi
print(res) # 3.141592653589793
factorial -- 因数
import math
# 求5的因数
factor = math.factorial(5)
print(factor) # 120
随机模块
import random
random -- 获取 0~~1 之间的小数
random 随机获取0 ~ 1之间的小数(左闭右开)0 <= x < 1
import random
res = random.random()
print(res) # 0.15195915170299268
randrange -- 获取指定范围内的整数
语法:rangrange(start, end[, step])
randint -- 获取指定范围整数
语法:randint(a, b)
相比 randrange 灵活性低,但是结束值可用
uniform -- 获取指定范围内随机小数(左闭右开)
import random
# uniform 获取指定范围内的随机小数(左闭右开)
res = random.uniform(1, 3)
print(res) # 2.81589512983781
# 因为内置机制的原因(uniform 可以将数值颠倒,并达到相同的效果)
res = random.uniform(3, 1)
print(res) # 1.4023313207919326
choice -- 随机获取序列中的值(多选一)
import random
# 可以尝试使用 randrange 实现
lst = ['A', 'B', 'C', 'D', 'E']
res = random.choice(lst)
print(res) # E
sample -- 随机获取序列中的值(多选多,返回列表)
语法:sample(poplation, num)
import random
lst = ['A', 'B', 'C', 'D', 'E', 'F']
res = random.sample(lst, 1)
print(res) # ['F']
res = random.sample(lst, 2)
print(res) # ['C', 'A']
shuffle -- 随机打乱序列中的值(原地址操作)
import random
lst = ['A', 'B', 'C', 'D', 'E', 'F']
random.shuffle(lst)
print(lst) # ['F', 'D', 'C', 'B', 'E', 'A']
实现随机验证码
import random
def getVer():
ver_code = ''
# 随机抽取四个字符
for i in range(4):
s_char = chr(random.randrange(97, 123))
b_char = chr(random.randrange(65, 91))
num = str(random.randrange(10))
lst = [s_char, b_char, num]
ver_code += random.choice(lst)
return ver_code
ver = getVer()
print(ver) # b4Vq
python常用标准库(math数学模块和random随机模块)的更多相关文章
- 模块之-random(随机模块)
模块之-random(随机模块) random #shuffle 洗牌功能 >>> i=[1,2,3,4,5,6] >>> random.shuffle(i) &g ...
- Python 3标准库 第十四章 应用构建模块
Python 3标准库 The Python3 Standard Library by Example -----------------------------------------第十四章 ...
- python常用标准库(时间模块 time和datetime)
常用的标准库 time时间模块 import time time -- 获取本地时间戳 时间戳又被称之为是Unix时间戳,原本是在Unix系统中的计时工具. 它的含义是从1970年1月1日(UTC/G ...
- python常用标准库(os系统模块、shutil文件操作模块)
常用的标准库 系统模块 import os 系统模块用于对系统进行操作. 常用方法 os模块的常用方法有数十种之多,本文中只选出最常用的几种,其余的还有权限操作.文件的删除创建等详细资料可以参考官方文 ...
- python常用标准库(压缩包模块zipfile和tarfile)
常用的标准库 在我们常用的系统windows和Linux系统中有很多支持的压缩包格式,包括但不限于以下种类:rar.zip.tar,以下的标准库的作用就是用于压缩解压缩其中一些格式的压缩包. zip格 ...
- Python常用标准库(pickle序列化和JSON序列化)
常用的标准库 序列化模块 import pickle 序列化和反序列化 把不能直接存储的数据变得可存储,这个过程叫做序列化.把文件中的数据拿出来,回复称原来的数据类型,这个过程叫做反序列化. 在文件中 ...
- python常用标准库
-------------------系统内建函数------------------- 1.字符串 str='这是一个字符串数据测试数据'对应 str[0]:获取str字符串中下标为 ...
- python 常用标准库
标准库和第三方库第一手资料: 在线: 官方文档(https://docs.python.org/) 离线:交互式解释器(dir().help()函数),IPython(tab键提示.?.??) 一. ...
- Python常用标准库之datetime、random、hashlib、itertools
库:具有相关功能模块的集合 import sys.builtin_module_names #返回内建模块的名字modules 查看所有可用模块的名字 1.1.1获取当前日期和时间 from date ...
随机推荐
- 4.1 ROS元功能包
4.1 ROS元功能包 场景:完成ROS中一个系统性的功能,可能涉及到多个功能包,比如实现了机器人导航模块,该模块下有地图.定位.路径规划...等不同的子级功能包.那么调用者安装该模块时,需要逐一的安 ...
- Linux ftp服务器部署(最简单的ftp教程)
之前在阿里云领了一个ECS服务器(顺便说一句,白嫖的,真香~),就想着做点什么,然后试着做个 ftp 站点,因为第一次尝试,结果走了不少弯路.最后终于完成了,研究了两天(哎~,脑壳笨没办法)就想着记录 ...
- DSP选型
DSP芯片也称数字信号处理器,是一种特别适合于进行数字信号处理运算的微处理器具,其主机应用是实时快速地实现各种数字信号处理算法.根据数字信号处理的要求,DSP芯片一般具有如下主要特点: (1)在一个指 ...
- #define的3种用法详解
1.#define 的作用 在C或C++语言源程序中允许用一个标识符来表示一个字符串,称为"宏".被定义为"宏"的标识符称为"宏名".在编译 ...
- 放大器(PA+LAN)在射频上的应用
转自 动手又动脑才会有创造 放大器,包括两种,PA与LAN,功率放大器(PA) 和低噪声放大器(LNA),在射频上,PA用于信号的输出放大,而LNA用天线端的输入放大,一般的,LAN会比PA的放大倍数 ...
- 使用Node.js版本管理器
使用Node.js版本管理器 完全卸载Node.js 清除Package缓存:npm cache clean --force 卸载Node.js:wmic product where caption= ...
- 开源HTML5游戏引擎Kiwi.js 1.0正式发布
Kiwi.js是由GameLab开发的一款全新的开源HTML5 JavaScript游戏引擎.在经过一年多的开发和测试之后,终于在日前正式发布了Kiwi.js 1.0版本. 其创始人Dan Milwa ...
- SQL Server中如何让SQL语句对字符串大小写敏感
在SQL Server中默认对大小写是不敏感的,例如fname='peter'和fname='PETER'结果是一样的.但有时候用户会要求区分大小写,如验证密码等.这种情况下的处理办法就是在字段后加上 ...
- C# 委托专题
单播委托:一个委托只指向一个方法: 多播委托:一个委托指向多个方法,形成一个方法链: Main是静态方法,里面只能引用静态方法,而不能引用实例方法: Main可以进行类的实例化,然后引用实例化后的方法 ...
- IDEA 生成返回值对象快捷键Ctrl+Alt+V失效
在IDEA上运用快捷键返回对象(Ctrl+Alt+V)的时候一直无效,找了很久的问题,发现是有快捷键冲突,发现QQ音乐快捷键与IDEA冲突了,把那处改掉或者关闭即可. 所以边敲代码边听音乐也要注意一下