摘要:調(diào)用函數(shù)時(shí)常見(jiàn)的錯(cuò)誤函數(shù)參數(shù)個(gè)數(shù)不正確會(huì)給我們返回,并給出確切的錯(cuò)誤信息。例如將變量名指向這個(gè)取整函數(shù)調(diào)用函數(shù),即調(diào)用這個(gè)取整數(shù)的函數(shù)
python有許多內(nèi)置的函數(shù)(Build-in Functions)例如abs()——求絕對(duì)值的函數(shù)供我們使用。
那么我們?nèi)绾握{(diào)用這些函數(shù)呢?直接書(shū)寫(xiě)函數(shù)名帶括號(hào)并在括號(hào)內(nèi)傳入?yún)?shù)即可。例如abs(-10.2)即可。
python內(nèi)置的函數(shù)可以到https://docs.python.org/2/lib...查看。
python會(huì)給我們返回TypeError,并給出確切的錯(cuò)誤信息。例如我們寫(xiě)了一行
abs(1,2,3)的錯(cuò)誤代碼,執(zhí)行時(shí)python就會(huì)報(bào)如下錯(cuò)誤:
Traceback (most recent call last): File "/Users/W/Code/Python/LearnPython/Functions.py", line 1, inabs(1,2,3) TypeError: abs() takes exactly one argument (3 given)
最后一句主要意思是abs()函數(shù)只需要一個(gè)參數(shù),但是你傳入了三個(gè)。
函數(shù)參數(shù)類(lèi)型不正確python會(huì)給我們也會(huì)返回TypeError,并給出確切的錯(cuò)誤信息。例如我們寫(xiě)了一行
abs("1")的錯(cuò)誤代碼,執(zhí)行時(shí)python就會(huì)報(bào)如下錯(cuò)誤:
Traceback (most recent call last): File "/Users/W/Code/Python/LearnPython/Functions.py", line 1, inabs("123") TypeError: bad operand type for abs(): "str"
?此時(shí),參數(shù)個(gè)數(shù)沒(méi)錯(cuò),但是穿入的數(shù)據(jù)類(lèi)型錯(cuò)了。錯(cuò)誤信息的最后一句明確告訴我們,錯(cuò)誤的運(yùn)算數(shù),str類(lèi)型。因?yàn)?b>"1"是字符串,而不是整數(shù)也不是浮點(diǎn)數(shù)。
另外需要注意python中abs()也好,int()也好,這些函數(shù)名其實(shí)是對(duì)相應(yīng)函數(shù)對(duì)象的引用,我們可以輕而易舉的給他們換一個(gè)函數(shù)名。
例如
abc = abs # 將變量名abc指向abs這個(gè)取整函數(shù) abc(-110) # 調(diào)用abc函數(shù),即調(diào)用abs這個(gè)取整數(shù)的函數(shù)
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/44256.html
摘要:空函數(shù)如果想要定義一個(gè)什么都不做的函數(shù),那么可以用語(yǔ)句。為函數(shù)添加參數(shù)檢查我們對(duì)作一些改寫(xiě)。此時(shí)調(diào)用函數(shù)時(shí)傳入錯(cuò)誤的參數(shù)則會(huì)拋出。函數(shù)返回多個(gè)值支持返回多個(gè)值。 python中定義函數(shù)的關(guān)鍵詞是def,例如定義一個(gè)叫my_function的函數(shù)我們可以這么定義, 其中括號(hào)內(nèi)的x,y為傳入的參數(shù)。 def my_function(): # function body 返回值 函數(shù)...
摘要:默認(rèn)參數(shù)的坑默認(rèn)參數(shù)的默認(rèn)值指向的必需時(shí)不變對(duì)象。舉一個(gè)例說(shuō)明當(dāng)函數(shù)的默認(rèn)參數(shù)默認(rèn)為一個(gè)可變對(duì)象時(shí),會(huì)出現(xiàn)什么狀況。例如調(diào)用函數(shù)輸出結(jié)果當(dāng)然,如果已經(jīng)又一個(gè)對(duì)象,也可以在傳入時(shí)的名前輸入,會(huì)自動(dòng)將拆分成關(guān)鍵字參數(shù)。 函數(shù)就像是一個(gè)黑盒子,我們將相關(guān)的一些功能打包成一個(gè)函數(shù),后續(xù)再調(diào)用的時(shí)候,我們不再關(guān)心內(nèi)部如何實(shí)現(xiàn),而是只關(guān)心這個(gè)函數(shù)需要輸入(Input)什么,需要輸出(Output)...
摘要:為了避免改亂為,我們?cè)谇懊嬉呀?jīng)提到說(shuō)要加鎖。僅供一個(gè)線程使用,線程間相互不影響。例如下列程序中函數(shù)中定義的變量就是局部變量。所有綁定的參數(shù)都是線程隔離的。下面展示一下代碼創(chuàng)建一個(gè)全局的對(duì)象初始化一個(gè)線程內(nèi)變量,該變量線程間互不影響。 我們?cè)诰帉?xiě)多線程程序的時(shí)候,往往會(huì)遇到兩種類(lèi)型的變量。 一種是全局變量,多個(gè)線程共享。為了避免改亂為,我們?cè)谇懊嬉呀?jīng)提到說(shuō)要加鎖。 一種是局部變量。僅供...
摘要:如果一個(gè)函數(shù)在內(nèi)部調(diào)用函數(shù)自身,那么這個(gè)就是遞歸函數(shù)。遞歸函數(shù)也可以用循環(huán)的方式實(shí)現(xiàn)。但是遞歸函數(shù)邏輯較為簡(jiǎn)單。但是在使用遞歸函數(shù)的時(shí)候,要注意防止遞歸函數(shù)調(diào)用過(guò)多導(dǎo)致棧溢出。 函數(shù)就像一個(gè)盒子,將相關(guān)的一些功能打包成一個(gè)函數(shù),以供調(diào)用。函數(shù)內(nèi)部可以調(diào)用其他函數(shù),也可以調(diào)用這個(gè)函數(shù)自身。如果一個(gè)函數(shù)在內(nèi)部調(diào)用函數(shù)自身,那么這個(gè)就是遞歸函數(shù)。我們舉一個(gè)簡(jiǎn)單的例子。數(shù)學(xué)中我們知道100的階...
摘要:定義列表生成器有兩種方式,一種是算式列表生成器我起的名字,一種通過(guò)關(guān)鍵詞。算式列表生成器算式列表生成器雨列表生成式類(lèi)似,但需要換成。我們可以用一個(gè)包含關(guān)鍵字的函數(shù)來(lái)定義一個(gè)列表生成器。 通過(guò)列表生成式我們可以方便的生成列表。但是在有的時(shí)候,我們需要生成的列表非常長(zhǎng),而我們的計(jì)算機(jī)的內(nèi)存是有限的。在操作列表的時(shí)候,我們往往只是操作了列表的一部分區(qū)域的數(shù)據(jù)。 例如我們需要生成這么一個(gè)列表,...
閱讀 3374·2021-11-18 10:02
閱讀 3525·2021-10-11 10:58
閱讀 3449·2021-09-24 09:47
閱讀 1221·2021-09-22 15:21
閱讀 4196·2021-09-10 11:10
閱讀 3326·2021-09-03 10:28
閱讀 1806·2019-08-30 15:45
閱讀 2233·2019-08-30 14:22