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

2019-05-07  本文已影响0人  QQsoso

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)。

上一篇下一篇

猜你喜欢

热点阅读