欢迎访问宙启技术站
智能推送

使用Python函数生成随机数的方法

发布时间:2023-05-20 06:11:53

Python中有多种生成随机数的方法,下面简单介绍其中一些常用方法。

1. random库

Python内置的random库可用于生成伪随机数。可以使用random.random()函数生成区间[0,1)内的随机浮点数。需要注意的是,random()函数在每次运行时都会生成一个伪随机数,生成的结果是不可重复的。

import random

# 可以使用random.random()函数生成[0,1)内的随机浮点数
print(random.random())

# 获取特定区间内的随机整数
print(random.randint(1, 10))

# 从列表中随机选取元素
lst = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(random.choice(lst))

2. numpy库

numpy库是Python中常用的科学计算库,提供了各种各样的随机数生成函数。numpy.random可以生成基于不同分布的随机数序列。这些序列有三种特征:还原性、统计性和分布特性。

import numpy as np

# 生成一个区间为[0,1)内的随机浮点数
print(np.random.rand())

# 生成一个指定形状的数组
print(np.random.rand(2, 3))

# 生成0-1之间的n个随机实数
print(np.random.random(5))

# 生成符合正态分布的随机数
print(np.random.randn(10))

# 生成指定区间内的随机整数
print(np.random.randint(-10, 10, size=(3,5)))

3. secrets库

Python 3.6以后增加了一个secrets库,提供生成各种随机的安全码、口令、令牌、key等功能,用于保护应用程序的敏感信息。

import secrets

# secrets.token_bytes() 函数生成随机的一串字节码
print(secrets.token_bytes(16))

# secrets.token_hex() 函数生成随机的十六进制数
print(secrets.token_hex(16))

# secrets.token_urlsafe() 函数生成url安全的随机字符串
print(secrets.token_urlsafe(16))

以上是Python生成随机数的几种方法介绍,每个方法适用于不同的场景,可以按照实际需要选择使用。在使用随机数时需要注意,虽然随机数可以增加程序的不可预测性,但是在设计随机数算法时要考虑安全隐患,并且要确保随机数符合预期分布。