Python在函数调用中声明变量?

亚伦

很抱歉,如果已经问过这个问题,无论如何我不确定如何用句子来描述我的问题。我正在为我的生物信息学课程做一些工作,并且开始看到在调用函数时声明的变量,而不仅仅是传递参数(请参阅下面的第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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章