python函数参数带星号*

来源:互联网 发布:北京好的编程培训机构 编辑:程序博客网 时间:2024/06/06 18:30

http://www.cnblogs.com/tips4python/archive/2011/05/30/function_with_stay.html

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 的形式。

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

数放在最后。


0 0