免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開(kāi)通VIP
四、什么是位置參數(shù),Python位置參數(shù)
位置參數(shù),有時(shí)也稱必備參數(shù),指的是必須按照正確的順序?qū)?shí)際參數(shù)傳到函數(shù)中,換句話說(shuō),調(diào)用函數(shù)時(shí)傳入實(shí)際參數(shù)的數(shù)量和位置都必須和定義函數(shù)時(shí)保持一致。

實(shí)參和形參數(shù)量必須一致

在調(diào)用函數(shù),指定的實(shí)際參數(shù)的數(shù)量,必須和形式參數(shù)的數(shù)量一致(傳多傳少都不行),否則 Python 解釋器會(huì)拋出 TypeError 異常,并提示缺少必要的位置參數(shù)。

例如:
  1. def girth(width , height):

  2. return 2 * (width + height)

  3. #調(diào)用函數(shù)時(shí),必須傳遞 2 個(gè)參數(shù),否則會(huì)引發(fā)錯(cuò)誤

  4. print(girth(3))

運(yùn)行結(jié)果為:

Traceback (most recent call last):
  File "C:\Users\mengma\Desktop\1.py", line 4, in <module>
    print(girth(3))
TypeError: girth() missing 1 required positional argument: 'height'

可以看到,拋出的異常類型為 TypeError,具體是指 girth() 函數(shù)去燒一個(gè)必要的height參數(shù)。

同樣,多傳參數(shù)也會(huì)拋出異常:
  1. def girth(width , height):

  2. return 2 * (width + height)

  3. #調(diào)用函數(shù)時(shí),必須傳遞 2 個(gè)參數(shù),否則會(huì)引發(fā)錯(cuò)誤

  4. print(girth(3,2,4))

運(yùn)行結(jié)果為:

Traceback (most recent call last):
  File "C:\Users\mengma\Desktop\1.py", line 4, in <module>
    print(girth(3,2,4))
TypeError: girth() takes 2 positional arguments but 3 were given

通過(guò) TypeErroe 異常信息可以知道,girth() 函數(shù)本只需要 2 個(gè)參數(shù),但是卻傳入了 3 個(gè)參數(shù)。

實(shí)參和形參位置必須一致

在調(diào)用函數(shù)時(shí),傳入實(shí)際參數(shù)的位置必須和形式參數(shù)位置一一對(duì)應(yīng),否則會(huì)產(chǎn)生以下 2 種結(jié)果:
  1. 拋出 TypeError 異常
    當(dāng)實(shí)際參數(shù)類型和形式參數(shù)類型不一致,并且在函數(shù)種,這兩種類型之間不能正常轉(zhuǎn)換,此時(shí)就會(huì)拋出 TypeError 異常。

    例如:

    輸出結(jié)果為:

    Traceback (most recent call last):
      File "C:\Users\mengma\Desktop\1.py", line 3, in <module>
        print(area("C語(yǔ)言中文網(wǎng)",3))
      File "C:\Users\mengma\Desktop\1.py", line 2, in area
        return height*width/2
    TypeError: unsupported operand type(s) for /: 'str' and 'int'

    以上顯示的異常信息,就是因?yàn)樽址愋秃驼螖?shù)值做除法運(yùn)算。

    1. def area(height,width):

    2. return height*width/2

    3. print(area("C語(yǔ)言中文網(wǎng)",3))

  2. 產(chǎn)生的結(jié)果和預(yù)期不符
    調(diào)用函數(shù)時(shí),如果指定的實(shí)際參數(shù)和形式參數(shù)的位置不一致,但它們的數(shù)據(jù)類型相同,那么程序?qū)⒉粫?huì)拋出異常,只不過(guò)導(dǎo)致運(yùn)行結(jié)果和預(yù)期不符。

    例如,設(shè)計(jì)一個(gè)求梯形面積的函數(shù),并利用此函數(shù)求上底為 4cm,下底為 3cm,高為 5cm 的梯形的面積。但如果交互高和下低參數(shù)的傳入位置,計(jì)算結(jié)果將導(dǎo)致錯(cuò)誤:

    運(yùn)行結(jié)果為:

    正確結(jié)果為: 17.5
    錯(cuò)誤結(jié)果為: 13.5

    因此,在調(diào)用函數(shù)時(shí),一定要確定好位置,否則很有可能產(chǎn)生類似示例中的這類錯(cuò)誤,還不容易發(fā)現(xiàn)。

    1. def area(upper_base,lower_bottom,height):

    2. return (upper_base+lower_bottom)*height/2

    3. print("正確結(jié)果為:",area(4,3,5))

    4. print("錯(cuò)誤結(jié)果為:",area(4,5,3))

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
VB PaintPicture(第1篇)
怎么定位透明FLASH
Python理解函數(shù)調(diào)用的原理及其概念
《源碼探秘 CPython》61. *args 和 **kwargs 是如何解析的?
Python函數(shù)的各種參數(shù)(含星號(hào)參數(shù))
函數(shù)調(diào)用的參數(shù)規(guī)則與解包
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服