我偶尔会遇到这个python结构:number + array 我想知道什么是返回值,是数字还是数组。它做了什么?
示例,我遇到的是:
def __init__(self, n):
self.wins = np.zeros( n )
self.trials = np.zeros(n )
def sample( self, n=1 ):
for k in range(n):
choice = np.argmax( rbeta( 1 + self.wins, 1 + self.trials - self.wins) )
choices[ k ] = choice
return
注意:我对Python几乎一无所知
答案 0 :(得分:3)
你的问题不是关于语法本身(加法没有特别的语法方面),而是关于numpy
数组的加法方法。对于numpy
数组对象,实现了标量的添加,以便结果是一个数组,其中所有元素都添加了标量。
In [1]: import numpy as np
In [2]: a = np.arange(0, 5)
In [3]: a
Out[3]: array([0, 1, 2, 3, 4])
In [4]: 1+a
Out[4]: array([1, 2, 3, 4, 5])
建议阅读:
答案 1 :(得分:2)
这不是数字+数组
它是标量+ nparray。
它将标量添加到np数组的每个元素