Python 此uu init_uu()方法中的默认参数值';什么是定义?

Python 此uu init_uu()方法中的默认参数值';什么是定义?,python,named-parameters,default-parameters,Python,Named Parameters,Default Parameters,我正在看一些控制摄像机的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

我正在看一些控制摄像机的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)
vs = WebcamVideoStream()
src
等于3

如果您运行:

vs = WebcamVideoStream(3)
vs = WebcamVideoStream()
src等于0(默认值)

作为Python的另一个特性,Python支持*args和**kwargs,用于不确定在方法中使用多少参数和哪些参数的情况(这是非常一般的解释,但我希望清楚)

我在这里发布了一些使用**kwargs的示例:

附言

1) 当您不确定可以向函数传递多少个参数时,请使用*args,即它允许您向函数传递任意数量的参数


2) **kwargs允许您处理未事先定义的命名参数

是的,这是默认参数背后的概念。您还可以显式地命名参数,如
webcamdevideostream(src=14)
@cricket\u 007:Nah,您希望该部分处于打开状态。关键字参数在语法上相似,但相关性不大。函数定义中的这种类型的构造称为“关键字参数”,如果在实际调用函数时省略了它,则始终包含默认值。@user2357112 Right。我错过了那个OP,没有提到使用
Stream(src=)