Python 提供了兩個變數分別是 args 和 kwargs很多時候,因為你不可能每次都會知道Function到底會提供多少的arguments(引數)所以Python提供兩個特別的方法,去允許Function接收超過的引數(Excess Arguments)也就是 args 和 kwargs
*args
前面有一個星號 *args 可以接收任意數字(number)
args 是tuple的型態,如果你沒有傳任何東西,他將會是empty tuple
def test_args(*args):
print args
>>> test_args(1,2,3,4,5)
(1,2,3,4,5)
**kwargs 前面會有兩個星號 **kwargs 可以接收任意有Keyworded的變數
kwargs 是dictionary的型態,如果你沒有傳任何東西,他也將會是empty dictionary
def test_kwargs(**kwargs):
print kwargs
if kwargs is not None:
for key, value in kwargs.iteritems():
print "%s == %s" %(key,value)
>>> test_kwargs(name="small")
{name:"small"}
name == small
沒有留言:
張貼留言