在类初始化期间传递参数

nit*_*tin 2 python

我正在抓住以下代码中的内容.

class foo(object):
    def __init__(self,*args):
        print type(args)
        print args

j_dict = {'rmaNumber':1111, 'caseNo':2222} 
print type(j_dict)
p = foo(j_dict)
Run Code Online (Sandbox Code Playgroud)

它产生:

<type 'dict'>
<type 'tuple'>
({'rmaNumber': 1111, 'caseNo': 2222},)
Run Code Online (Sandbox Code Playgroud)

在我看来,这个代码将字典转换为元组!谁能解释一下呢

jme*_*etz 8

实际上它是因为args是一个tuple持有可变长度参数列表.args[0]仍然是你的dict- 没有发生转换.

有关和(args的关键字版本)的更多信息,请参阅本教程.argskwargs