溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python可變參數(shù)*args和**kwargs用法實例小結(jié)

發(fā)布時間:2020-08-22 14:26:11 來源:腳本之家 閱讀:225 作者:Together_CZ 欄目:開發(fā)技術(shù)

本文實例講述了Python可變參數(shù)*args和**kwargs用法。分享給大家供大家參考,具體如下:

一句話簡單概括:當函數(shù)的參數(shù)不確定的時候就需要用到*args**kwargs,前者和后者的區(qū)別在于,后者引入了”可變”key的概念,而前者沒有key的概念,具體看下面的使用樣例和具體的解釋即可:

#!usr/bin/env python
#encoding:utf-8
'''''
__Author__:沂水寒城
功能:*args 和 **kwargs
'''
def test_func1(*args):
  '''''
  *args
  當函數(shù)的參數(shù)數(shù)量不確定的時候可以使用*args,個人理解*args相當于一個大小可變地列表
  容器,有點類似于C語言中的指針,傳給引用即可找到內(nèi)容,在這里可以使用*+變量的形式
  來實現(xiàn)內(nèi)容可變列表的輸出
  '''
  for index, one_char in enumerate(args):
    print 'index={0}, one_char={1}'.format(index, one_char)
def test_func2(**kwargs):
  '''''
  **kwargs
  這個和上面的功能性質(zhì)是一樣的,只是*args沒有key的概念,**kwargs加入了可變key的操作
  這個參數(shù)允許你使用未定義的參數(shù)名而不會出現(xiàn)KeyError
  '''
  for id_num, name in kwargs.items():
    print '{0}:{1}'.format(id_num,name)
def print_dict(one_dict):
  '''''
  直接輸出字典內(nèi)容
  '''
  for id_num, name in one_dict.items():
    print id_num, name
if __name__ == '__main__':
  print "億速云測試結(jié)果:"
  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)

結(jié)果如下:

億速云測試結(jié)果:
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

運行結(jié)果截圖:

Python可變參數(shù)*args和**kwargs用法實例小結(jié)

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python面向?qū)ο蟪绦蛟O(shè)計入門與進階教程》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python編碼操作技巧總結(jié)》及《Python入門與進階經(jīng)典教程》

希望本文所述對大家Python程序設(shè)計有所幫助。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI