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随机模块) - Python技术站

(0)
上一篇 2023年4月2日 下午5:35
下一篇 2023年4月2日 下午5:36

相关文章

  • Python 函数进阶-递归函数

    递归函数 什么是递归函数 如果一个函数,可以自己调用自己,那么这个函数就是一个递归函数。 递归,递就是去,归就是回,递归就是一去一回的过程。 递归函数的条件 一般来说,递归需要边界条件,整个递归的结构中要有递归前进段和递归返回段。当边界条件不满足,递归前进,反之递归返回。就是说递归函数一定需要有边界条件来控制递归函数的前进和返回。 定义一个简单的递归函数 #…

    Python开发 2023年4月2日
    00
  • python常用标准库(时间模块time和datetime)

    常用的标准库 time时间模块 import time time — 获取本地时间戳 时间戳又被称之为是Unix时间戳,原本是在Unix系统中的计时工具。 它的含义是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。UNIX时间戳的 0 按照ISO 8601规范为 :1970-01-01T00:00:00Z。 比如: 时间戳 60 …

    Python开发 2023年4月2日
    00
  • python常用标准库(压缩包模块zipfile和tarfile)

    常用的标准库 在我们常用的系统windows和Linux系统中有很多支持的压缩包格式,包括但不限于以下种类:rar、zip、tar,以下的标准库的作用就是用于压缩解压缩其中一些格式的压缩包。 zip格式 import zipfile zipfile模块操作压缩包使用ZipFile类进行操作,使用方法和open的使用方法很相似,也是使用r、w、x、a四种操作模…

    Python开发 2023年4月2日
    00
  • python生成器

    生成器 我们学习完推导式之后发现,推导式就是在容器中使用一个for循环而已,为什么没有元组推导式? 原因就是“元组推导式”的名字不是这样的,而是叫做生成器表达式。 什么是生成器 生成器表达式本质上就是一个迭代器,是定义迭代器的一种方式,是允许自定义逻辑的迭代器。生成器使用generator表示。 迭代器和生成器的区别 迭代器本身是系统内置的, 无法重写内置的…

    Python开发 2023年4月2日
    00
  • Python 函数进阶-lambda匿名函数和三元运算符

    匿名函数 什么是匿名函数 用一句话表达只有返回值的函数就是匿名函数。 匿名函数只用来实现一些简单的函数功能,所以追求代码的简洁和高效。 使用关键字 lambda 定义,所以匿名函数又称之为lambda表达式。 分类 无参数的 lambda 表达式 # 普通函数 def func(): return ‘hello motherland’ # 调用 res = …

    Python开发 2023年4月2日
    00
  • python常用标准库(os系统模块、shutil文件操作模块)

    常用的标准库 系统模块 import os 系统模块用于对系统进行操作。 常用方法 os模块的常用方法有数十种之多,本文中只选出最常用的几种,其余的还有权限操作、文件的删除创建等详细资料可以参考官方文档。 system — 执行系统命令 参数的数据类型是字符串格式,内容是系统指令。执行时,直接返回系统输出。 import os os.system(‘ifc…

    Python开发 2023年4月2日
    00
  • Python 函数进阶-迭代器

    迭代器 什么是迭代器 能被 next 指针调用,并不断返回下一个值的对象,叫做迭代器。表示为Iterator,迭代器是一个对象类型数据。 概念 迭代器指的是迭代取值的工具,迭代是一个重复的过程,每次重复都是基于上一次的结果而继续的,单纯的重复并不是迭代。 特征 迭代器并不依赖索引,而通过 next 指针迭代所有数据,一次只取一个值,大大节省空间。 惰性序列 …

    Python开发 2023年4月2日
    00
  • Python 函数进阶-全局空间和局部空间

    全局空间和局部空间 命名空间 命名空间的概念的提出是为了划分和控制变量是否可见,以及生存周期的长短;命名空间的作用范围叫做作用域。 划分一块区域保存所有数据,以字典的方式存储(变量与值形成映射关系)。一共三种。 内建命名空间: 解释器启动时创建,直到解释器运行结束,生存周期最长; 全局命名空间: 文件运行时创建,直到解释器运行结束,生存周期较长; 局部命名空…

    Python开发 2023年4月2日
    00
合作推广
合作推广
分享本页
返回顶部