美文网首页
2019-05-07 def __init__(self, *a

2019-05-07 def __init__(self, *a

作者: QQsoso | 来源:发表于2019-05-07 10:36 被阅读0次

    python在编写类的时候经常会出现这样的写法:

    def __init__(self, *args, **kwargs):    

            doSth()

    这种写法代表这个方法接受任意个数的参数,其中不指定key的参数会以list形式保存到args变量中,指定key的参数会以dict的形式保存到kwargs变量中。

    示例如下:

    函数如下:

    def helloWorld(*args, **kwargs):

        print('non-key arguments are:')

        for i in args:

            print(i)

        print ('key-value arguments are:')

        for k,w in kwargs.items():

            print(k + '=' + w)

    如果调用以下代码:

    helloWorld('I','know',whom='you',what='understrand')

    运行结果如下:

    non-key arguments are:

    I

    know

    key-value arguments are:

    whom=you

    what=understrand

    可以看出来,没有key的参数是:I和Know

    而指定了key的参数是you(key为whom)和understand(key为what)。

    相关文章

      网友评论

          本文标题:2019-05-07 def __init__(self, *a

          本文链接:https://www.haomeiwen.com/subject/bcosoqtx.html