Python函数:如何生成随机数?
Python是一种广泛使用的高级编程语言,它可以在许多不同的应用程序和领域中使用。Python的许多内置函数使它成为一种专业和高效的编程语言。生成随机数是Python很常见的一种应用场景,Python中有两种生成随机数的方式。其中, 种是内置随机模块(random),它提供了许多函数来生成不同类型的随机数。第二种是外部库(numpy)中的随机模块,它更强大,可以生成更多类型的随机数。
Python内置随机模块(random)
Python内置随机模块(random)是一个提供随机数生成器的高级包,它可以用来生成伪随机数,即由算法生成的随机数。该模块为 python 中的各种应用程序生成随机数提供了许多不同的工具。其中,常用的函数包括:
1、random()
该函数返回0到1之间的一个随机浮点数。需要注意的是,在使用该函数之前应该先导入random模块。
例:
import random
num = random.random()
print(num)
输出:0.07629035030571019
2、randint(a, b)
该函数返回[a, b]之间的一个随机整数,包括a和b。需要注意的是,在使用该函数之前应该先导入random模块。
例:
import random
num = random.randint(1,10)
print(num)
输出:5
3、uniform(a, b)
该函数返回a到b之间的一个随机浮点数,包括a和b。需要注意的是,在使用该函数之前应该先导入random模块。
例:
import random
num = random.uniform(1,10)
print(num)
输出:8.891313876559988
4、choice(lst)
该函数从序列中随机选择一个元素并返回。需要注意的是,在使用该函数之前应该先导入random模块。
例:
import random
lst = [1, 2, 3, 4, 5]
num = random.choice(lst)
print(num)
输出:2
Python外部库(numpy)中的随机模块
Python中的另一个强大的随机数工具是 numpy 外部库中的随机模块,它提供了比 simple random 更多的随机生成函数。numpy.random 提供的随机函数的名称前面都带有“numpy”,使用时需要导入库。
1、rand(d0,d1,…dn)
该函数返回0到1之间的随机浮点数,其形状与d0,d1,…dn一致。需要注意的是,在使用该函数之前应该先导入numpy库。
例:
import numpy as np
num = np.random.rand(2,3)
print(num)
输出:
[[0.17374172 0.83004181 0.15487398]
[0.60209114 0.65381451 0.93659679]]
2、randint(low, high=None, size=None, dtype=’l’)
该函数返回low到high之间的随机整数,包括low和high。需要注意的是,在使用该函数之前应该先导入numpy库。
例:
import numpy as np
num = np.random.randint(1, 10, size=[3,3])
print(num)
输出:
[[3 6 3]
[9 8 4]
[8 5 4]]
3、normal(loc=0.0, scale=1.0, size=None)
该函数返回均值为loc,标准差为scale的正态分布样本,其形状为size。需要注意的是,在使用该函数之前应该先导入numpy库。
例:
import numpy as np
num = np.random.normal(0.0, 1.0, size=[2,3])
print(num)
输出:
[[-0.95773662 1.11365398 -0.21910935]
[-1.39146697 -0.21449444 -0.02986427]]
4、choice(a, size=None, replace=True, p=None)
该函数从序列a中随机选择元素,并返回形状为size的随机数组。
例:
import numpy as np
lst = [1, 2, 3, 4, 5]
num = np.random.choice(lst, size = [2,3])
print(num)
输出:
[[4 2 5]
[1 3 4]]
总结
随机数在Python中的应用非常广泛,它可以模拟实际问题、验证计算和算法等。Python内置随机模块和外部库中的随机模块都可以很好地满足随机数生成的需求。其中,外部库(numpy)中的随机模块更为强大,可以生成更多类型的随机数。但需要注意的是,生成的随机数是根据算法生成的,因此有时可能需要特殊的需求来生成具有特定属性的随机数。
