【Python】random库的介绍及用法

目录

1、应用场景

2、random-标准库


1、应用场景

Python的random库有很多应用场景,以下是一些例子:

  1. 游戏 : 许多类型的游戏,特别是角色扮演游戏,经常使用random库来生成随机事件或角色属性。
  2. 统计模拟或蒙特卡罗模拟 :在这些研究中,随机样本是必需的。Python的random库就可以用来生成各种种类和分布的随机数。
  3. 密码或令牌生成 : 使用random库可以创建复杂的、不容易被猜测的密码或令牌。
  4. 机器学习 : 在机器学习中,随机数被用于随机初始化权重,制造随机噪声,分割数据集,随机梯度下降等。
  5. 数据分析 : 在数据分析中,random库常被用来生成测试数据,或者对现有数据进行随机抽样。
  6. 批处理 : 如果你有一项任务需要在数据库的随机记录上运行,可以使用random库。
  7. UI/UX设计 :在一些图形界面或者用于测试的程序中,random库也被用于生成随机的颜色、位置、大小等。

这些只是random库的一些基本应用,实际上,它可以用于任何需要随机性的场景中。

2、random-标准库

python中的random库是Python内置的随机数产生库。它可以产生各种分布(均匀分布、正态分布等)和类型(整数、浮点数等)的随机数。

主要的函数有:

  1. random(): 无参数函数,返回[0.0, 1.0)之间的一个随机浮点数。
  2. seed(a=None, version=2): 初始化随机数生成器。如果你不希望每次程序运行结果都不相同,可以在生成随机数前先设置种子。
  3. randrange(start, stop[, step]): 返回指定递增基数集合中的一个随机数,基数默认值为1。
  4. randint(a, b): 返回[a,b]之间的一个整数。
  5. choice(seq): 从序列类型(列表,元组,字符串等)中随机返回一个元素。
  6. shuffle(seq[, random]): 用于将一个列表中的元素打乱。
  7. sample(population, k): 从总体序列中随机获取k个不重复的元素。

除此之外,random库还包括了一些生成特定分布随机数的函数,例如正态分布、指数分布等。举例来说,random.gauss(mu, sigma)会生成一个均值为mu,标准差为sigma的正态分布随机数。

下面简单举例介绍Python random模块的常见方法及用法:

random(): 这个方法返回0和1之间的随机浮点数(包括0,不包括1)。

import random
print(random.random())

uniform(a, b): 返回指定范围内的随机浮点数。

print(random.uniform(1, 5))  # 返回 1~5 之间的随机浮点数

randint(a, b): 返回指定范围内的随机整数。

print(random.randint(1, 5))  # 返回 1~5 之间的随机整数

randrange(start, stop, step): 返回任意选定开始和结束(不包含)之间,以固定步长的随机整数。

print(random.randrange(0, 10, 2))  # 返回 0~10 以2为步长的随机整数(只返回0,2,4,6,8中的一个)

choice(seq): 从可以迭代和随机选择的非空序列返回一个随机元素。

print(random.choice('Python'))  # 返回 'Python' 中的一个随机字符

shuffle(x): 将序列x随机排序,改变序列本身。

lst = [1, 2, 3, 4, 5]
random.shuffle(lst)
print(lst)  # 结果是随机的,如 [2, 4, 1, 5, 3]

sample(population, k): 返回指定大小的新列表,列表元素从原始序列或集合随机取样,不改变原有序列。

lst = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(random.sample(lst, 5))  # 结果是从lst中随机取5个元素形成的新列表,如 [5, 2, 7, 1, 4]

你可能感兴趣的:(python,python,笔记)