相同点:两个函数都是在 [0, 1) 的均匀分布中产生随机数。
不同点:参数传递不同。random.random( )接收一个单独的元组,而random.rand( )接收分开的参数
np.random.seed(1) rand = np.random.rand(2, 2) print(rand) ''' [[4.17022005e-01 7.20324493e-01] [1.14374817e-04 3.02332573e-01]] ''' np.random.seed(1) random = np.random.random((2, 2)) print(random) ''' [[4.17022005e-01 7.20324493e-01] [1.14374817e-04 3.02332573e-01]] '''
两个函数功能完全一样,numpy为什么这么做,这是有历史原因的。可能是为了使 Matlab 用户更容易学习 python+numpy 的组合。把其中一个函数去掉,所带来的麻烦远大于好处,因为有很多现存的代码使用了函数的不同版本。