溫馨提示×

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

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

Python函數(shù)中可變長(zhǎng)參數(shù)的示例分析

發(fā)布時(shí)間:2021-08-17 11:54:18 來(lái)源:億速云 閱讀:158 作者:小新 欄目:開(kāi)發(fā)技術(shù)

小編給大家分享一下Python函數(shù)中可變長(zhǎng)參數(shù)的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

一、Python函數(shù)中的參數(shù)

1、使用python的函數(shù)時(shí),有參數(shù)類(lèi)別,比如位置參數(shù)、關(guān)鍵字參數(shù)、可變長(zhǎng)參數(shù)

2、位置參數(shù)、關(guān)鍵字參數(shù)很好理解,關(guān)鍵是可變長(zhǎng)參數(shù)經(jīng)常能見(jiàn)到,但是一直沒(méi)有搞懂是什么意思

二、可變長(zhǎng)參數(shù)

1、一個(gè)星號(hào):函數(shù)可以接收任意個(gè)數(shù)的參數(shù),只需要在形參前面加一個(gè)*(星號(hào)),一個(gè)星號(hào)形參的函數(shù)會(huì)把多個(gè)位置參數(shù)值當(dāng)成元祖的形式傳入,也就是傳入的多個(gè)參數(shù)值可以在函數(shù)內(nèi)部進(jìn)行元祖遍歷

def length_param(a, *args):
  print("a=", a)
  print("args=", args)

  for arg in args:
    print("arg=", arg)


length_param("zim","this","is","a","good","thing")

執(zhí)行結(jié)果:

Python函數(shù)中可變長(zhǎng)參數(shù)的示例分析

2、兩個(gè)星號(hào):形參前面加兩個(gè)*(星號(hào)),注意是兩個(gè)星號(hào)哦,兩個(gè)星號(hào)形參的函數(shù)會(huì)把關(guān)鍵字參數(shù)值當(dāng)成字典的形式傳入,在函數(shù)內(nèi)部會(huì)把關(guān)鍵字參數(shù)當(dāng)成字典在函數(shù)內(nèi)部進(jìn)行遍歷

def length_param(a, **kwargs):
  print("a=", a)

   print("kwargs=", kwargs)
 
   for kwarg in kwargs.keys():
     print("kwarg=", kwarg)

length_param("zim",b="this",c="is",d="good")

執(zhí)行結(jié)果:

Python函數(shù)中可變長(zhǎng)參數(shù)的示例分析

3、一個(gè)星號(hào)和兩個(gè)星號(hào)混合使用

class Params:
  def length_param(self,*args,**kwargs):
    print("args=",args)
    print("kwargs=",kwargs)

    for arg in args:
      print("arg=",arg)

    for kwarg in kwargs.values():
      print("kwarg=",kwarg)

one = Params()

one.length_param("sam","this","is","good","thing",b="you",c="love",d="me")

執(zhí)行結(jié)果:

Python函數(shù)中可變長(zhǎng)參數(shù)的示例分析

注意:傳入可變長(zhǎng)參數(shù)時(shí),傳入關(guān)鍵字參數(shù)的key一定不能有冒號(hào),否則會(huì)報(bào)如下錯(cuò)誤

Python函數(shù)中可變長(zhǎng)參數(shù)的示例分析

三、注意事項(xiàng):

函數(shù)調(diào)用時(shí)關(guān)鍵字參數(shù)必須在位置參數(shù)后面

以上是“Python函數(shù)中可變長(zhǎng)參數(shù)的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

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

AI