日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python中参数(带星号的参数)

發布時間:2025/3/21 python 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python中参数(带星号的参数) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

python中函數參數的傳遞是通過賦值來傳遞的。函數參數的使用又有倆個方面值得注意:1.函數參數是如何定義的 2.在調用函數的過程中參數是如何被解析

先看第一個問題,在python中函數參數的定義主要有四種方式:
1.F(arg1,arg2,...)
這 是最常見的定義方式,一個函數可以定義任意個參數,每個參數間用逗號分割,用這種方式定義的函數在調用的的時候也必須在函數名后的小括號里提供個數相等的 值(實際參數),而且順序必須相同,也就是說在這種調用方式中,形參和實參的個數必須一致,而且必須一一對應,也就是說第一個形參對應這第一個實參。例 如:
def a(x,y):
print x,y
調用該函數,a(1,2)則x取1,y取2,形參與實參相對應,如果a(1)或者a(1,2,3)則會報錯。


2.F(arg1,arg2=value2,...)
這種方式就是第一種的改進版,提供了默認值
def a(x,y=3):
print x,y
調用該函數,a(1,2)同樣還是x取1,y取2,但是如果a(1),則不會報錯了,這個時候x還是1,y則為默認的3。上面這倆種方式,還可以更換參數位置,比如a(y=8,x=3)用這種形式也是可以的。


3.F(*arg1)
上 面倆個方式是有多少個形參,就傳進去多少個實參,但有時候會不確定有多少個參數,則此時第三種方式就比較有用,它以一個*加上形參名的方式來表示這個函數 的實參個數不定,可能為0個也可能為n個。注意一點是,不管有多少個,在函數內部都被存放在以形參名為標識符的tuple中。
>>> def a(*x):
if len(x)==0:
print 'None'
else:
print x
>>> a(1)
(1,)??????? #存放在元組中
>>> a()
None
>>> a(1,2,3)
(1, 2, 3)
>>> a(m=1,y=2,z=3)

Traceback (most recent call last):
File "<pyshell#16>", line 1, in -toplevel-
a(m=1,y=2,z=3)
TypeError: a() got an unexpected keyword argument 'm'


4.F(**arg1)
形參名前加倆個*表示,參數在函數內部將被存放在以形式名為標識符的dictionary中,這時調用函數的方法則需要采用arg1=value1,arg2=value2這樣的形式。
>>> def a(**x):
if len(x)==0:
print 'None'
else:
print x??
>>> a()
None
>>> a(x=1,y=2)
{'y': 2, 'x': 1}????? #存放在字典中
>>> a(1,2)??????????? #這種調用則報錯

Traceback (most recent call last):
File "<pyshell#25>", line 1, in -toplevel-
a(1,2)
TypeError: a() takes exactly 0 arguments (2 given)


上面介紹了四種定義方式,接下來看函數參數在調用過程中是怎么被解析的,其實只要記住上面這四種方法優先級依次降低,先1,后2,再3,最后4,也就是先把方式1中的arg解析,然后解析方式2中的arg=value,再解析方式3,即是把多出來的arg這種形式的實參組成個tuple傳進去,最后把剩下的key=value這種形式的實參組成一個dictionary傳給帶倆個星號的形參,也就方式4
>>> def?test(x,y=1,*a,**b):
print x,y,a,b


>>> test(1)
1 1 () {}
>>> test(1,2)
1 2 () {}
>>> test(1,2,3)
1 2 (3,) {}
>>> test(1,2,3,4)
1 2 (3, 4) {}
>>> test(x=1,y=2)
1 2 () {}
>>> test(1,a=2)
1 1 () {'a': 2}
>>> test(1,2,3,a=4)
1 2 (3,) {'a': 4}
>>> test(1,2,3,y=4)

Traceback (most recent call last):
File "<pyshell#52>", line 1, in -toplevel-
test(1,2,3,y=4)
TypeError: test() got multiple values for keyword argument 'y'


原文地址:http://www.cnblogs.com/smiler/archive/2010/08/02/1790132.html

總結

以上是生活随笔為你收集整理的python中参数(带星号的参数)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 色欧美在线 | 久操精品 | 男女做爰真人视频直播 | 天天曰 | 最新av在线 | 成人精品黄段子 | 在线观看一二三区 | 99mav | 日日干日日草 | 每日更新在线观看av | 伊人欧美| 男女激情视频网站 | 国产一区二区播放 | 怒海潜沙秦岭神树 | 亚洲αv | 国产一区二区三区四区视频 | 国产色综合网 | 亚洲三级黄色片 | 欧美黑人添添高潮a片www | 成年精品 | 色欧美亚洲| 玖玖伊人| 日韩一区二区免费在线观看 | 国产视频一区在线 | 亚洲欧美精品久久 | 东北少妇露脸无套对白 | 国产伦视频 | 亚洲国产精彩中文乱码av | 污网站在线看 | 日韩欧美高清dvd碟片 | 99久久免费看精品国产一区 | 久精品视频 | 欧美日韩精品在线 | 伊人久久五月天 | 亚洲男人天堂视频 | 91免费短视频 | 国产天堂av | 奴性白洁会所调教 | jizz高潮| 男生插女生视频 | 国产伦精品一区二区三 | 天天舔天天干天天操 | 五月激情开心网 | 妞干网av| 国产福利在线导航 | 先锋影音色 | 神马午夜不卡 | 日韩免费av网站 | 欧美综合视频 | 亚洲av日韩精品久久久久久久 | 久久人妻一区二区 | www.xxx国产 | 欧美激情视频一区二区 | 精品久久久久久久中文字幕 | 成av人在线| 黄色激情网站 | 国产精品入口麻豆 | 美女福利视频导航 | 日韩精品成人av | 国产91一区二区三区在线精品 | 欧美在线视频观看 | 中文字幕第四页 | 神马老子午夜 | 亚洲AV永久无码国产精品国产 | 性高潮久久久久久 | 青青草狠狠操 | 999这里有精品 | 黄色av一区 | 久久最新精品 | 三级毛毛片 | 男男play呻吟动漫网站 | 成人在线视频免费看 | 91亚洲网| 亚洲国产一区二区三区a毛片 | 一区二区在线免费观看 | 大胸美女无遮挡 | 欧美在线不卡视频 | free性欧美69巨大 | 国精品一区二区 | 在线观看视频免费 | 武侠古典av | 天天干狠狠插 | 天天躁日日躁狠狠躁av | 毛片网站在线 | 欧美日本激情 | 一本大道综合伊人精品热热 | 日韩精品视频在线免费观看 | 黄a在线| 欧洲毛片 | 瑟瑟视频在线免费观看 | 亚洲精品国产精品乱码不卡 | 东北少妇不戴套对白第一次 | 国产成人无码精品久久久电影 | 成人av中文解说水果派 | 爱豆国产剧免费观看大全剧集 | 日韩aaa| 国产剧情在线一区 | 影音先锋伦理片 | 国产极品久久 |