很抱歉,如果已经问过这个问题,无论如何我不确定如何用句子来描述我的问题。我正在为我的生物信息学课程做一些工作,并且开始看到在调用函数时声明的变量,而不仅仅是传递参数(请参阅下面的第5行)。
def sobelFilter(pixmap):
matrix = array([[-1, 0, 1],
[-2, 0, 2],
[-1, 0, 1]])
grey = pixmap.mean(axis=2) #<---here
edgeX = convolveMatrix2D(grey, matrix)
edgeY = convolveMatrix2D(grey, matrix.T)
pixmap2 = sqrt(edgeX * edgeX + edgeY * edgeY)
normalisePixmap(pixmap2)
return pixmap2
什么grey = pixmap.mean(axis=2)
时候axis
不再使用的目的是什么?为什么不说呢grey = pixmap.mean(2)
?
如果需要我的问题,这只是我们被允许使用的代码,而不是我自己编写的。Pixmap引用此代码:
def imageToPixmapRGB(img):
img2 = img.convert("RGB")
w,h = img2.size
data = img2.getdata()
pixmap = array(data, float)
pixmap = pixmap.reshape((h,w,3))
return pixmap
没有一个称为axis
初始化的局部变量,您只是在明确说明要传递的函数的哪个参数。
如果函数中有多个可选参数,则可以使用此选项:
例:
In [9]: def foo(x=2, y=2):
...: print(x, y)
...:
In [10]: foo(y=3)
2 3
如果要更改y
,但保留x
默认设置,则必须在调用函数时指定。
但是,即使您没有设置特定的可选参数,通过其关键字传递参数也没有错。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句