更新時(shí)間:2022-06-16 來(lái)源:黑馬程序員 瀏覽量:
函數(shù)中的returm語(yǔ)句是可選項(xiàng),可以出現(xiàn)在函數(shù)體的任何位置,它的作用是結(jié)束當(dāng)前函數(shù),將程序返回到函數(shù)被調(diào)用的位置繼續(xù)執(zhí)行,同時(shí)將函數(shù)中的數(shù)據(jù)返回給主編寫含有自定義函數(shù)is_capital()的程序,實(shí)現(xiàn)判斷鍵盤輸入的字符串是否以大寫字母開(kāi)頭的程序功能,代碼如下:
# 01_ is_ capital.py def is_capital (words): if ord("A")<=ord(words [0])<=ord("Z"): return '首字母是大寫的' else: return '首字母不是大寫的' Result = is_capital ("Python") #將函數(shù)返回的結(jié)果交給變量 print(result)
首字母是大寫的游戲項(xiàng)目通過(guò)坐標(biāo)控制角色位置,角色坐標(biāo)由x和y兩個(gè)值決定,這要求與位置相關(guān)的函數(shù)能夠同時(shí)返回x和y兩個(gè)值。函數(shù)可以返回兩個(gè)值嗎?答案是肯定的,不僅如此,Python 函數(shù)中的return也可以返回多個(gè)值。當(dāng)函數(shù)使用return語(yǔ)句返回多個(gè)值時(shí),這些值將以元組形式保存。
例如,定義一個(gè)控制游戲角色移動(dòng)的函數(shù)move(),使用returm語(yǔ)句返回反映角色當(dāng)前位置的nx和ny,代碼如下:
# 02_control_game_role.py import math def move (x, y, step, angle=0): nx = x + step * math.cos (angle) ny = y -step*math.sin (angle) return nx, ny #返回多個(gè)值 result = move (100, 100, 60, math.pi/6) #實(shí)際上返回的是一個(gè)元組 print(result)
以上程序定義了move()函數(shù)、使用變量result 接收了move()函數(shù)返回的計(jì)算結(jié)果并將結(jié)果打印,打印信息如下:
(151.96152422706632, 70.0)
由以上結(jié)果可知,函數(shù)返回的其實(shí)是一個(gè)包含兩個(gè)元素的元組。
for循環(huán)與range()函數(shù)的搭配使用
compile()函數(shù)預(yù)編譯正則表達(dá)式
Python os.listdir()函數(shù)用法介紹
利用函數(shù)實(shí)現(xiàn)Pytho對(duì)象和JSON數(shù)據(jù)的相互轉(zhuǎn)換