python 寫(xiě)函數(shù)在一定條件下需要調(diào)用自身時(shí)的寫(xiě)法說(shuō)明
例如以下這個(gè)函數(shù):
state = 1 def 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) # break set_state(state) print('end')
這個(gè)函數(shù)設(shè)計(jì)的目的是讓用戶輸入指定的值,若輸入的值并非指定值,則重新輸入。
不寫(xiě)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ǔ)句后面,應(yīng)該加一句breaK語(yǔ)句,直接退出當(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)用自己寫(xiě)的方法或函數(shù)function
一、在command中調(diào)用
1 在終端里先用 cd 指令到指定路徑(D盤(pán))
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 mymodule mymodule.function()
如
import sys sys.path.append('C:\Users\username\PycharmProjects\untitled\study_some') import list #調(diào)用 list.print_l(movies)
以上這篇python 寫(xiě)函數(shù)在一定條件下需要調(diào)用自身時(shí)的寫(xiě)法說(shuō)明就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
pytorch: Parameter 的數(shù)據(jù)結(jié)構(gòu)實(shí)例
今天小編就為大家分享一篇pytorch: Parameter 的數(shù)據(jù)結(jié)構(gòu)實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12Python解析json時(shí)提示“string indices must be integers”問(wèn)題解決方法
這篇文章主要介紹了Python解析json時(shí)提示“string indices must be integers”問(wèn)題解決方法,結(jié)合實(shí)例形式分析了Python解析json字符串操作規(guī)范與相關(guān)使用技巧,需要的朋友可以參考下2019-07-07對(duì)python多線程中Lock()與RLock()鎖詳解
今天小編就為大家分享一篇對(duì)python多線程中Lock()與RLock()鎖詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-01-01在pyqt5中QLineEdit里面的內(nèi)容回車(chē)發(fā)送的實(shí)例
今天小編就為大家分享一篇在pyqt5中QLineEdit里面的內(nèi)容回車(chē)發(fā)送的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-06-06Python3.10耙梳加密算法Encryption種類(lèi)及開(kāi)發(fā)場(chǎng)景
這篇文章主要為大家介紹了Python3.10加密,各種加密,耙梳加密算法Encryption種類(lèi)及開(kāi)發(fā)場(chǎng)景運(yùn)用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02python實(shí)現(xiàn)各種插值法(數(shù)值分析)
這篇文章主要介紹了python實(shí)現(xiàn)各種插值法(數(shù)值分析),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07Python利用PyMuPDF模塊實(shí)現(xiàn)快速轉(zhuǎn)換PDF文件
PDF是一種廣泛使用的文件格式,可以在任何設(shè)備上查看和打印,那么如何用Python和PyMuPDF制作你想要大小的PDF文件呢,本文就來(lái)和大家詳細(xì)講講2023-08-08