国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Python > 正文

Python中函數(shù)的參數(shù)傳遞與可變長(zhǎng)參數(shù)介紹

2020-02-23 01:39:58
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

1.Python中也有像C++一樣的默認(rèn)缺省函數(shù)

代碼如下:
def foo(text,num=0):
    print text,num

foo("asd")  #asd 0
foo("def",100)  #def 100

定義有默認(rèn)參數(shù)的函數(shù)時(shí),這些默認(rèn)值參數(shù) 位置必須都在非默認(rèn)值參數(shù)后面。

調(diào)用時(shí)提供默認(rèn)值參數(shù)值時(shí),使用提供的值,否則使用默認(rèn)值。

2.Python可以根據(jù)參數(shù)名傳參數(shù)
代碼如下:
def foo(ip,port):
    print "%s:%d" % (ip,port)

foo("192.168.1.0",3306) #192.168.1.0:3306
foo(port=8080,ip="127.0.0.1")   #127.0.0.1:8080

第4行,沒(méi)有指定參數(shù)名,按照順序傳參數(shù)。

第5行,指定參數(shù)名,可以按照參數(shù)名稱傳參數(shù)。

3.可變長(zhǎng)度參數(shù)
代碼如下:
#coding:utf-8       #設(shè)置python文件的編碼為utf-8,這樣就可以寫(xiě)入中文注釋
def foo(arg1,*tupleArg,**dictArg):
    print "arg1=",arg1  #formal_args
    print "tupleArg=",tupleArg  #()
    print "dictArg=",dictArg    #[]
foo("formal_args")

上面函數(shù)中的參數(shù),tupleArg前面“*”表示這個(gè)參數(shù)是一個(gè)元組參數(shù),從程序的輸出可以看出,默認(rèn)值為();dicrtArg前面有“**”表示這個(gè)字典參數(shù)(鍵值對(duì)參數(shù))。可以把tupleArg、dictArg看成兩個(gè)默認(rèn)參數(shù)。多余的非關(guān)鍵字參數(shù),函數(shù)調(diào)用時(shí)被放在元組參數(shù)tupleArg中;多余的關(guān)鍵字參數(shù),函數(shù)調(diào)用時(shí)被放字典參數(shù)dictArg中。

下面是可變長(zhǎng)參數(shù)的一些用法:
代碼如下:
#coding:utf-8       #設(shè)置python文件的編碼為utf-8,這樣就可以寫(xiě)入中文注釋
def foo(arg1,arg2="OK",*tupleArg,**dictArg):
    print "arg1=",arg1
    print "arg2=",arg2
    for i,element in enumerate(tupleArg):
        print "tupleArg %d-->%s" % (i,str(element))
    for  key in dictArg:
        print "dictArg %s-->%s" %(key,dictArg[key])

myList=["my1","my2"]
myDict={"name":"Tom","age":22}
foo("formal_args",arg2="argSecond",a=1)
print "*"*40
foo(123,myList,myDict)
print "*"*40
foo(123,rt=123,*myList,**myDict)

輸出為:

從上面的程序可以看出:

(1)如代碼第16行。

   參數(shù)中如果使用“*”元組參數(shù)或者“**”字典參數(shù),這兩種參數(shù)應(yīng)該放在參數(shù)列表最后。并且“*”元組參數(shù)位于“**”字典參數(shù)之前。

   關(guān)鍵字參數(shù)rt=123,因?yàn)楹瘮?shù)foo(arg1,arg2="OK",*tupleArg,**dictArg)中沒(méi)有rt參數(shù),所以最后也歸到字典參數(shù)中。

(2)如代碼第14行。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 吉水县| 茌平县| 五峰| 铁岭市| 甘泉县| 称多县| 林周县| 县级市| 阿坝县| 土默特左旗| 云梦县| 宁乡县| 台州市| 西乌珠穆沁旗| 嘉义县| 天祝| 景德镇市| 二连浩特市| 杭锦后旗| 株洲市| 家居| 沛县| 南漳县| 自治县| 吉水县| 宿州市| 兴安盟| 神木县| 岐山县| 连江县| 盐山县| 城口县| 甘洛县| 涪陵区| 秀山| 奉化市| 托克逊县| 兴城市| 凤台县| 河东区| 犍为县|