python函数参数带星号*

 def function_with_one_star(*t):
print(t, type(t))

def function_with_two_stars(**d)
    print
(d, type(d))

上面定义了两个函数,分别用了带一个星号和两个星号的参数,它们是什么意思,运行下面的代码:

function_with_one_star(1, 2, 3)
function_with_two_stars(a
= 1, b = 2, c = 3)

结果如下

(1, 2, 3) <class 'tuple'>
{
'a': 1, 'c': 3, 'b': 2} <class 'dict'>

由此可见,带一个星号(*)参数的函数传人的参数存储为一个元组(tuple);

而带两个星号(*)参数的函数传人的参数则存储为一个字典(dict),并且在

调用是采取 a = 1, b = 2, c = 3 的形式。

由于传人的参数个数不定,所以当与普通参数一同使用时,必须把带星号的参

数放在最后。

posted on 2011-05-30 23:08  iAlex  阅读(16616)  评论(3编辑  收藏  举报

导航