此__init __()方法定义中的默认参数值?

时间:2017-02-01 23:21:55

标签: 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
        self.stream = cv2.VideoCapture(src)

所以,如果我做这样的事情

vs = WebcamVideoStream(3)

那么src将是3? 如果我这样做

vs = WebcamVideoStream()

然后src将是0

1 个答案:

答案 0 :(得分: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允许您处理未事先定义的命名参数