本文實例講述了Python可變參數*args和**kwargs用法。分享給大家供大家參考,具體如下:
一句話簡單概括:當函數的參數不確定的時候就需要用到*args和**kwargs,前者和后者的區別在于,后者引入了”可變”key的概念,而前者沒有key的概念,具體看下面的使用樣例和具體的解釋即可:
#!usr/bin/env python
#encoding:utf-8
'''''
__Author__:沂水寒城
功能:*args 和 **kwargs
'''
def test_func1(*args):
'''''
*args
當函數的參數數量不確定的時候可以使用*args,個人理解*args相當于一個大小可變地列表
容器,有點類似于C語言中的指針,傳給引用即可找到內容,在這里可以使用*+變量的形式
來實現內容可變列表的輸出
'''
for index, one_char in enumerate(args):
print 'index={0}, one_char={1}'.format(index, one_char)
def test_func2(**kwargs):
'''''
**kwargs
這個和上面的功能性質是一樣的,只是*args沒有key的概念,**kwargs加入了可變key的操作
這個參數允許你使用未定義的參數名而不會出現KeyError
'''
for id_num, name in kwargs.items():
print '{0}:{1}'.format(id_num,name)
def print_dict(one_dict):
'''''
直接輸出字典內容
'''
for id_num, name in one_dict.items():
print id_num, name
if __name__ == '__main__':
print "腳本之家測試結果:"
str_list=['沂','水','寒','城','We','Are','Friends']
str_dict={'id_num':20123456, 'name':'yishuihancheng'}
test_func1(*str_list)
test_func2(**str_dict)
print '-----------------------------------------------------------'
print_dict(str_dict)
結果如下:
腳本之家測試結果:
index=0, one_char=沂
index=1, one_char=水
index=2, one_char=寒
index=3, one_char=城
index=4, one_char=We
index=5, one_char=Are
index=6, one_char=Friends
id_num:20123456
name:yishuihancheng
-----------------------------------------------------------
id_num 20123456
name yishuihancheng
運行結果截圖:
希望本文所述對大家Python程序設計有所幫助。