這篇文章主要介紹了Python可變參數*args和**kwargs用法,結合執行個體形式總結分析了Python中可變參數*args和**kwargs的功能、區別與具體提示,需要的朋友可以參考下
本文執行個體講述了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, nameif __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
運行結果: