相同點:兩個函數都是在 [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 的組合。把其中一個函數去掉,所帶來的麻煩遠大於好處,因為有很多現存的代碼使用了函數的不同版本。