python常用标准库(math数学模块和random随机模块)

python常用标准库(math数学模块和random随机模块)

常用的标准库

数学模块

import math

ceil -- 上取整

对一个数向上取整(进一法),取相邻最近的两个整数的最大值。

import mathres = math.ceil(4.1)print(res)  # 5
floor -- 下取整

对一个数向下取整(退一法),取相邻最近的两个整数的最小值。

import mathres = 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 ** 3print(res)  # 8
sqrt -- 开平方运算
import mathres = 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 mathres = math.modf(100.666)print(res)  # (0.6659999999999968, 100.0)
copysign -- 正负拷贝

将第二个参数的正负状态拷贝给第一参数。(返回浮点型)

import mathres = math.copysign(100, -200)print(res)  # -100.0
fsum -- 序列和

将一个容器中的元素进行求和运算(结果为浮点数)

import mathlst = [1, 2, 3]res = math.fsum(lst)print(res)  # 6.0
pi -- 圆周率常数
import mathres = math.piprint(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 randomres = 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 randomlst = ['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 randomlst = ['A', 'B', 'C', 'D', 'E', 'F']random.shuffle(lst)print(lst)  # ['F', 'D', 'C', 'B', 'E', 'A']

实现随机验证码

import randomdef 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_codever = getVer()print(ver)  # b4Vq
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部