Python中查看函數(shù)參數(shù)有四種方式:
新縣ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來(lái)市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!
1. F(arg1,arg2,…)
這是最常見的定義方式,一個(gè)函數(shù)可以定義任意個(gè)參數(shù),每個(gè)參數(shù)間用逗號(hào)分割,用這種方式定義的函數(shù)在調(diào)用的的時(shí)候也必須在函數(shù)名后的小括號(hào)里提供個(gè)數(shù)相等的值(實(shí)際參數(shù)),而且順序必須相同,也就是說在這種調(diào)用方式中,形參和實(shí)參的個(gè)數(shù)必須一致,而且必須一一對(duì)應(yīng),也就是說第一個(gè)形參對(duì)應(yīng)這第一個(gè)實(shí)參。例如:
代碼如下:
def a(x,y):print x,y
調(diào)用該函數(shù),a(1,2)則x取1,y取2,形參與實(shí)參相對(duì)應(yīng),如果a(1)或者a(1,2,3)則會(huì)報(bào)錯(cuò)。
2. F(arg1,arg2=value2,…)
這種方式就是第一種的改進(jìn)版,提供了默認(rèn)值,例如:
代碼如下:
def a(x,y=3):print x,y
調(diào)用該函數(shù),a(1,2)同樣還是x取1,y取2,但是如果a(1),則不會(huì)報(bào)錯(cuò)了,這個(gè)時(shí)候x還是1,y則為默認(rèn)的3。上面這倆種方式,還可以更換參數(shù)位置,比如a(y=4,x=3)用這種形式也是可以的。
3. F(*arg1)
上面兩種方式是有多少個(gè)形參,就傳進(jìn)去多少個(gè)實(shí)參,但有時(shí)候會(huì)不確定有多少個(gè)參數(shù),則此時(shí)第三種方式就比較有用,它以一個(gè)*加上形參名的方式來(lái)表示這個(gè)函數(shù)的實(shí)參個(gè)數(shù)不定,可能為0個(gè)也可能為n個(gè)。注意一點(diǎn)是,不管有多少個(gè),在函數(shù)內(nèi)部都被存放在以形參名為標(biāo)識(shí)符的元組中。
代碼如下:
def a(*x):print x
a(1,2,3)
(1, 2, 3)
a(x=1,y=2,z=3)
Traceback (most recent call last):
File "stdin", line 1, in module
TypeError: a() got an unexpected keyword argument 'x'
4. F(**arg1)
形參名前加兩個(gè)*表示,參數(shù)在函數(shù)內(nèi)部將被存放在以形式名為標(biāo)識(shí)符的dictionary中,這時(shí)調(diào)用函數(shù)的方法則需要采用arg1=value1,arg2=value2這樣的形式。
代碼如下:
def a(**x):print x
a(x=1,y=2,z=3)
{'y': 2, 'x': 1, 'z': 3} #存放在字典中
a(1,2,3) #這種調(diào)用則報(bào)錯(cuò)
Traceback (most recent call last):
File "stdin", line 1, in module
TypeError: a() takes exactly 0 arguments (3 given)
1、print()函數(shù):打印字符串;
2、raw_input()函數(shù):從用戶鍵盤捕獲字符;
3、len()函數(shù):計(jì)算字符長(zhǎng)度;
4、format()函數(shù):實(shí)現(xiàn)格式化輸出;
5、type()函數(shù):查詢對(duì)象的類型;
6、int()函數(shù)、float()函數(shù)、str()函數(shù)等:類型的轉(zhuǎn)化函數(shù);
7、id()函數(shù):獲取對(duì)象的內(nèi)存地址;
8、help()函數(shù):Python的幫助函數(shù);
9、s.islower()函數(shù):判斷字符小寫;
10、s.sppace()函數(shù):判斷是否為空格;
11、str.replace()函數(shù):替換字符;
12、import()函數(shù):引進(jìn)庫(kù);
13、math.sin()函數(shù):sin()函數(shù);
14、math.pow()函數(shù):計(jì)算次方函數(shù);
15、os.getcwd()函數(shù):獲取當(dāng)前工作目錄;
16、listdir()函數(shù):顯示當(dāng)前目錄下的文件;
17、time.sleep()函數(shù):停止一段時(shí)間;
18、random.randint()函數(shù):產(chǎn)生隨機(jī)數(shù);
19、range()函數(shù):返回一個(gè)列表,打印從1到100;
20、file.read()函數(shù):讀取文件返回字符串;
21、file.readlines()函數(shù):讀取文件返回列表;
22、file.readline()函數(shù):讀取一行文件并返回字符串;
23、split()函數(shù):用什么來(lái)間隔字符串;
24、isalnum()函數(shù):判斷是否為有效數(shù)字或字符;
25、isalpha()函數(shù):判斷是否全為字符;
26、isdigit()函數(shù):判斷是否全為數(shù)字;
27、 lower()函數(shù):將數(shù)據(jù)改成小寫;
28、upper()函數(shù):將數(shù)據(jù)改成大寫;
29、startswith(s)函數(shù):判斷字符串是否以s開始的;
30、endwith(s)函數(shù):判斷字符串是否以s結(jié)尾的;
31、file.write()函數(shù):寫入函數(shù);
32、file.writeline()函數(shù):寫入文件;
33、abs()函數(shù):得到某數(shù)的絕對(duì)值;
34、file.sort()函數(shù):對(duì)書數(shù)據(jù)排序;
35、tuple()函數(shù):創(chuàng)建一個(gè)元組;
36、find()函數(shù):查找 返回的是索引;
37、dict()函數(shù):創(chuàng)建字典;
38、clear()函數(shù):清楚字典中的所有項(xiàng);
39、copy()函數(shù):復(fù)制一個(gè)字典,會(huì)修改所有的字典;
40、 get()函數(shù):查詢字典中的元素。
…………
在開發(fā)中我們可以借助于相關(guān)插件或使用Python內(nèi)置函數(shù)"help()”來(lái)查看某個(gè)函數(shù)的參數(shù)說明,以查看內(nèi)置函數(shù)sorted()為例:
函數(shù)參數(shù)包括:必選參數(shù)、默認(rèn)參數(shù)、可選參數(shù)、關(guān)鍵字參數(shù)。
1、默認(rèn)參數(shù):放在必選參數(shù)之后,計(jì)算x平方的函數(shù):
這樣的話每次計(jì)算不同冪函數(shù)都要重寫函數(shù),非常麻煩,可使用以下代碼計(jì)算:
默認(rèn)參數(shù)最大好處就是降低調(diào)用函數(shù)的難度。
2、可變參數(shù):就是傳入的參數(shù)個(gè)數(shù)是可變的,可以是1個(gè)、2個(gè)到任意個(gè),還可以是0個(gè),在參數(shù)前面加上*就是可變參數(shù)。在函數(shù)內(nèi)部,參數(shù)numbers接收得到的是一個(gè)tuple,調(diào)用該函數(shù)時(shí),可以傳入任意個(gè)參數(shù),包括0個(gè)參數(shù):
也可以類似可變參數(shù),先組裝一個(gè)dict,然后,把該dict轉(zhuǎn)換為關(guān)鍵字參數(shù)傳進(jìn)去:
Python中如何實(shí)現(xiàn)運(yùn)算符的重載,即實(shí)現(xiàn)例如a+b這樣的運(yùn)算符操作呢?
在C++中可以使用 operator 關(guān)鍵字實(shí)現(xiàn)運(yùn)算符的重載。但是在Python中沒有類似這樣的關(guān)鍵字,所以要實(shí)現(xiàn)運(yùn)算符的重載,就要用到Python的魔法函數(shù)。Python魔法函數(shù)是以雙下劃線開頭,雙下劃線結(jié)尾的一組函數(shù)。我們?cè)陬惗x中最常用到的 __init__ 函數(shù)就是這樣一個(gè)魔法函數(shù),它在創(chuàng)建類對(duì)象時(shí)被自動(dòng)調(diào)用。
下面我們來(lái)看個(gè)簡(jiǎn)單的例子。
上述代碼示例了幾個(gè)魔法函數(shù)的用法。 __add__ 函數(shù)對(duì)應(yīng)了二元運(yùn)算符+,當(dāng)執(zhí)行a+b語(yǔ)句時(shí),python就會(huì)自動(dòng)調(diào)用a. add (b)。 對(duì)于上述例子中的v1+v2+v3,則相當(dāng)于調(diào)用了(v1. add(v2)). add(v3)。
代碼中還有一個(gè)在Python類定義經(jīng)常使用的 __str__ 函數(shù),當(dāng)使用 str() 時(shí)會(huì)被調(diào)用。print函數(shù)對(duì)傳入的參數(shù)都調(diào)用了str()將其轉(zhuǎn)換成易讀的字符串形式,便于打印輸出,因而會(huì)調(diào)用類定義的__str__函數(shù)打出自定義的字符串。
代碼中還有一個(gè)特殊的 __call__ 函數(shù),該函數(shù)在將對(duì)象采用函數(shù)調(diào)用方式使用時(shí)被調(diào)用, 例如v1()相當(dāng)于v1. call ()。
以上就是魔法函數(shù)的基本使用方法。常見的魔法函數(shù)我們可以使用 dir() 函數(shù)來(lái)查看。
輸出結(jié)果為:
上述結(jié)果中形式為‘__函數(shù)名__’的函數(shù)為魔法函數(shù),注意有些對(duì)象也是這種形式,例如__class__, __module__等, 這些不是魔法函數(shù)。具體的魔法函數(shù)說明可以參考Python官方說明文檔。
以上代碼在Python3.6運(yùn)行通過.
名稱欄目:python查詢特定函數(shù) python中查詢的函數(shù)
轉(zhuǎn)載源于:http://www.muchs.cn/article37/doochsj.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、企業(yè)建站、移動(dòng)網(wǎng)站建設(shè)、App開發(fā)、搜索引擎優(yōu)化、云服務(wù)器
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)