新聞中心
一、定義函數(shù)
在Python中,定義一個函數(shù)要使用def語句,依次寫出函數(shù)名、括號、括號中的參數(shù)和冒號:,然后,在縮進(jìn)塊中編寫函數(shù)體,函數(shù)的返回值用return語句返回。

略陽網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站等網(wǎng)站項目制作,到程序開發(fā),運(yùn)營維護(hù)。成都創(chuàng)新互聯(lián)公司成立與2013年到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運(yùn)維經(jīng)驗,來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)公司。
定義函數(shù)的格式如下:
- def 函數(shù)名():
- 代碼
示例:
- # 定義一個函數(shù),能夠完成打印信息的功能
- def printInfo():
- print '------------------------------------'
- print 'Go語言進(jìn)階學(xué)習(xí)'
- print '------------------------------------'
1.定義帶有參數(shù)的函數(shù)
示例如下:
- def add2num(a, b):
- c = a+b
- print c
2.調(diào)用帶有參數(shù)的函數(shù)
以調(diào)用上面的add2num(a, b)函數(shù)為例:
- def add2num(a, b):
- c = a + b
- print(c)
- add2num(11, 22)# 調(diào)用帶有參數(shù)的函數(shù)時,需要在小括號中,傳遞數(shù)據(jù)
運(yùn)行結(jié)果:
3.調(diào)用函數(shù)時參數(shù)的順序
- >>> def test(a,b):
- ... print(a,b)
- ...
- print(test(1, 2))
- 1 2
- print(test(b=1, a=2))
- 2 1
- >>>
- >>> print(test(b=1, 2))
- File "
", line 1 - SyntaxError: positional argument follows keyword argument
二、調(diào)用函數(shù)
定義了函數(shù)之后,就相當(dāng)于有了一個具有某些功能的代碼,想要讓這些代碼能夠執(zhí)行,需要調(diào)用它
調(diào)用函數(shù)很簡單的,通過 函數(shù)名() 即可完成調(diào)用。
例:
- # 定義完函數(shù)后,函數(shù)是不會自動執(zhí)行的,需要調(diào)用它才可以
- printInfo()
三、函數(shù)返回多個值
1.函數(shù)可以返回多個值嗎?答案是肯定的。
帶有返回值的函數(shù)
想要在函數(shù)中把結(jié)果返回給調(diào)用者,需要在函數(shù)中使用return
如下示例:
- def add2num(a, b):
- c = a+b
- return c
或者
- def add2num(a, b):
- return a+b
2.保存函數(shù)的返回值
如果一個函數(shù)返回了一個數(shù)據(jù),那么想要用這個數(shù)據(jù),那么就需要保存
保存函數(shù)的返回值示例如下:
- # 定義函數(shù)
- def add2num(a, b):
- return a + b
- # 調(diào)用函數(shù),順便保存函數(shù)的返回值
- result = add2num(100, 98)
- # 因為result已經(jīng)保存了add2num的返回值,所以接下來就可以使用了
- print(result)
運(yùn)行結(jié)果:
四、my_abs和內(nèi)置函數(shù)abs的差別
- print(my_abs('A'))
當(dāng)傳入了不恰當(dāng)?shù)膮?shù)時,內(nèi)置函數(shù)abs會檢查出參數(shù)錯誤,而定義的my_abs沒有參數(shù)檢查,會導(dǎo)致if語句出錯,出錯信息和abs不一樣。
修改一下my_abs的定義,數(shù)據(jù)類型檢查可以用內(nèi)置函數(shù)isinstance()實現(xiàn):
- def my_abs(x):
- if not isinstance(x, (int, float)):
- raise TypeError('bad operand type')
- if x >= 0:
- return x
- else:
- return -x
添加了參數(shù)檢查后,如果傳入錯誤的參數(shù)類型,函數(shù)就可以拋出一個錯誤:
- my_abs('A')
五、總結(jié)
本文基于Python基礎(chǔ),介紹了函數(shù)定義。定義函數(shù)時,需要確定函數(shù)名和參數(shù)個數(shù);如果有必要,可以先對參數(shù)的數(shù)據(jù)類型做檢查;函數(shù)體內(nèi)部可以用return隨時返回函數(shù)結(jié)果。
當(dāng)前文章:盤點(diǎn)Python定義函數(shù)基礎(chǔ)知識
網(wǎng)站路徑:http://www.dlmjj.cn/article/ccoihgp.html


咨詢
建站咨詢
