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 ...
随机推荐
- Leetcode1——两数之和 详细解析
Leetcode1--两数之和 题目分类:数组.哈希表的应用 1. 题目描述 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数 ...
- python中类变量和实例变量的区别
类变量:可在类的所有实例之间共享的值(也就是说,它们不是单独分配给每个实例的).实例变量:实例化之后,每个实例单独拥有的变量. class student(): age = 0 name = 'stu ...
- C++大作业——教职工管理系统
教职工信息管理系统 1.问题描述: 设计一个学校职工管理系统,要求实现如下功能:建立职工信息数据, 包括职工编号.姓名. 性别.工资.出生时间.岗位.参加工作时间和年 龄(必须计算得到),初始模拟数据 ...
- 一整套PCB设计流程和要点,老板再也不怕我出错!
资料输入阶段 1. 在流程上接收到的资料是否齐全(包括:原理图.*.brd文件.料单.PCB设计说明以及PCB设计或更改要求.标准化要求说明.工艺设计说明文件) 2. 确认PCB模板是最新的 3. 确 ...
- 从问题找原因之CSS浮动清除
问题描述 浮动元素导致的后面img标签居中对齐"失败",如下图 <div> <div class="content1"> <div ...
- 什么是RESTFUL?REST的请求方法有哪些,有什么区别?
这里是修真院前端小课堂,每篇分享文从 [背景介绍][知识剖析][常见问题][解决方案][编码实战][扩展思考][更多讨论][参考文献] 八个方面深度解析前端知识/技能,本篇分享的是: [什么是REST ...
- jboss学习1之EJB和JBOSS的宏观理解
一.中间件(Middleware) 先来看一张图: 中间件,也就是图中的Middleware,他的作用是什么呢? 简单来说,中间件就是操作系统和应用程序之 ...
- 小程序获取自定义属性之e.target与e.currentTarget
彻底弄懂小程序e.target与e.currentTarget 一.小程序中关于事件对象 e 的属性中有两个特别重要的属性:target与currentTarget属性:对于这两个属性,官方文档上 ...
- EMS恢复禁用邮箱
使用PowerShell命令恢复禁用邮箱 键入以下命令: [PS] C:\Windows\system32>Get-MailboxDatabase | Get-MailboxStatistics ...
- 设计模式之:享元模式FlyweightPattern的实现
享元模式的理解: 享元模式的定义:运用共享技术支持大量细粒度对象的复用: Flyweight Pattern Definition:Use sharing to support large numbe ...