python 寫函數(shù)在一定條件下需要調(diào)用自身時(shí)的寫法說明
例如以下這個(gè)函數(shù):
state = 1def set_state(state): while state: set = int(input(’請(qǐng)輸入9或5,顯示'hello world'n’)) if set == 9 or set == 5: print(’hello world’) state = int(input(’輸入1繼續(xù),輸入0停止!n’)) else: print(’請(qǐng)輸入要求的值!’) set_state(state) # breakset_state(state)print(’end’)
這個(gè)函數(shù)設(shè)計(jì)的目的是讓用戶輸入指定的值,若輸入的值并非指定值,則重新輸入。
不寫break,運(yùn)行時(shí)就會(huì)出現(xiàn)錯(cuò)誤,乍一看正確:
但:
此時(shí)箭頭所指的地方,所輸入的0傳給了其他條件下,第二次運(yùn)行函數(shù)時(shí)的狀態(tài)下,第一個(gè)狀態(tài)仍為1,并未改變,因此在退出了第二次運(yùn)行的函數(shù)后,仍然會(huì)繼續(xù)運(yùn)行第一個(gè)函數(shù)中state = 1的循環(huán),導(dǎo)致還得再次輸入0去改變state的值才能停止運(yùn)行
因此,在再次調(diào)用該函數(shù)的語句后面,應(yīng)該加一句breaK語句,直接退出當(dāng)前的循環(huán),避免出現(xiàn)函數(shù)執(zhí)行的效果達(dá)不到預(yù)期效果,
加入break以后的截圖:
break為跳出本層循環(huán),只影響一層
continue為跳出本次循環(huán),進(jìn)行下一次循環(huán)
return為為直接跳出當(dāng)前函數(shù)
補(bǔ)充知識(shí):在python中調(diào)用自己寫的方法或函數(shù)function
一、在command中調(diào)用
1 在終端里先用 cd 指令到指定路徑(D盤)
2 切到 python 交互環(huán)境下,輸入 import myfunc (如果 myfunc.py 是你的文件全名的話)
>>> import myfunc
3 輸入 myfunc.函數(shù)名(參數(shù))
二、在IDE編輯器中調(diào)用
import sys sys.path.append(r’D:’)import mymodulemymodule.function()
如
import syssys.path.append(’C:UsersusernamePycharmProjectsuntitledstudy_some’)import list#調(diào)用list.print_l(movies)
以上這篇python 寫函數(shù)在一定條件下需要調(diào)用自身時(shí)的寫法說明就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. JavaWeb Servlet中url-pattern的使用2. 淺談SpringMVC jsp前臺(tái)獲取參數(shù)的方式 EL表達(dá)式3. asp(vbscript)中自定義函數(shù)的默認(rèn)參數(shù)實(shí)現(xiàn)代碼4. React優(yōu)雅的封裝SvgIcon組件示例5. 輕松學(xué)習(xí)XML教程6. php網(wǎng)絡(luò)安全中命令執(zhí)行漏洞的產(chǎn)生及本質(zhì)探究7. ASP刪除img標(biāo)簽的style屬性只保留src的正則函數(shù)8. jsp中sitemesh修改tagRule技術(shù)分享9. ASP基礎(chǔ)知識(shí)VBScript基本元素講解10. 詳解瀏覽器的緩存機(jī)制
