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

标签 python function variables

抱歉,如果已经有人问过这个问题,我不确定如何用一句话准确地描述我的问题。我正在为我的生物信息学类(class)做一些工作,并且我已经开始看到调用函数时声明的变量,而不仅仅是传递参数(请参见下面的第 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

axis不再使用时,grey = pixmap.mean(axis=2)的目的是什么?为什么不直接说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 保留为默认值,则必须在调用函数时指定。

即使您没有设置特定的可选参数,通过关键字传递参数也没有问题。

关于Python 在函数调用中声明变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49713333/

相关文章:

python - cv2.line 和 cv2.circle 返回 None

python - 如何从 numpy.fft 获取 complex64 输出?

python - 有没有办法在Python中跨线程添加变量

javascript - 设置函数参数的类型?

variables - 如何知道是否定义了 Racket 变量

python - 启用正在记录的 pysys 测试

php - 如何在 javascript 函数中使用 php

javascript - SharePoint JavaScript 执行一个又一个异步函数

php - 从 smarty 访问 PHP 文件的变量(本地或全局)

oop - 成员变量和局部变量有什么区别?