此 __init__() 方法定义中的默认参数值?
Default parameter value in this __init__() method's definition?
我正在查看一些 python 控制相机的代码,但由于在 python 上是新的,所以理解起来有些困难。我看到 src
参数设置为 0
。这是否意味着如果未给出 src
将使用 0
否则将使用给定的 src
?
class WebcamVideoStream:
def __init__(self, src=0):
# initialize the video camera stream and read the first frame
# from the stream
self.stream = cv2.VideoCapture(src)
所以如果我这样做
vs = WebcamVideoStream(3)
那么 src
会是 3
?
如果我这样做
vs = WebcamVideoStream()
那么 src
将是 0
?
快速回答是 - 是。
如果你运行:
vs = WebcamVideoStream(3)
src
等于 3
如果你 运行:
vs = WebcamVideoStream()
src 等于 0(默认值)。
作为 Python 的附加功能,Python 支持 *args 和 **kwargs 用于您不确定在您的方法中将使用多少和哪些参数的情况(它是非常笼统的解释,但我希望它是清楚的)。
我在这里发布了一些使用 **kwargs 的例子:
http://codepad.org/E7m3PnVr
P.S。
1) 当您不确定可以向您的函数传递多少参数时使用 *args,即它允许您向您的函数传递任意数量的参数。
2) **kwargs 允许你处理你没有预先定义的命名参数
我正在查看一些 python 控制相机的代码,但由于在 python 上是新的,所以理解起来有些困难。我看到 src
参数设置为 0
。这是否意味着如果未给出 src
将使用 0
否则将使用给定的 src
?
class WebcamVideoStream:
def __init__(self, src=0):
# initialize the video camera stream and read the first frame
# from the stream
self.stream = cv2.VideoCapture(src)
所以如果我这样做
vs = WebcamVideoStream(3)
那么 src
会是 3
?
如果我这样做
vs = WebcamVideoStream()
那么 src
将是 0
?
快速回答是 - 是。
如果你运行:
vs = WebcamVideoStream(3)
src
等于 3
如果你 运行:
vs = WebcamVideoStream()
src 等于 0(默认值)。
作为 Python 的附加功能,Python 支持 *args 和 **kwargs 用于您不确定在您的方法中将使用多少和哪些参数的情况(它是非常笼统的解释,但我希望它是清楚的)。
我在这里发布了一些使用 **kwargs 的例子: http://codepad.org/E7m3PnVr
P.S。
1) 当您不确定可以向您的函数传递多少参数时使用 *args,即它允许您向您的函数传递任意数量的参数。
2) **kwargs 允许你处理你没有预先定义的命名参数