return break 都可以終止函數(shù)的運(yùn)行

成都創(chuàng)新互聯(lián)公司主營旬陽網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都APP應(yīng)用開發(fā),旬陽h5重慶小程序開發(fā)搭建,旬陽網(wǎng)站營銷推廣歡迎旬陽等地區(qū)企業(yè)咨詢
exit(0) # 無錯誤退出
exit(1) # 有錯誤退出
這兩條語句一般都會加在程序的最后 因為exit是迫使系統(tǒng)去終止程序的運(yùn)行!
1.Ctrl + d 相信這個快捷鍵在很多交換式情景下都能退出交換式模式。\x0d\x0a2.quit()或者exit(),在很多交換式模式下是通過quit命令退出,在python的交換式模式所有命令都是函數(shù),不能漏掉后面的()。\x0d\x0a3.輸入 exit() 運(yùn)行或按 Ctrl + D,在python shell中輸入"exit()"即可退出python交互界面,1 0ctrl-c就行或者quit()有提示的。\x0d\x0a4.使用 quit(), exit(), 或者Ctrl-D退出命令行,python2.7.7(default,Jun32014,01:46:20) [GCC4.9.020140521(prerelease)]onlinux2 \x0d\x0a5.Type"help","copyright","credits"or"license"formoreinformation. quit Usequit()orCtrl-D(i.e.EOF)toexit
采用的是main函數(shù)對主窗口運(yùn)行程序完畢自動關(guān)閉的命令:
from tkinter import *def main():
root = Tk()
b = Button(root, text='退出', command=root.quit)
b.pack()
mainloop()if __name__ == '__main__':
main()
擴(kuò)展資料:
main函數(shù)的應(yīng)用:
程序執(zhí)行的起點,main是相對來說的,如同音學(xué)理論之主調(diào)于泛音,泛音即程序中的除main之外的其他函數(shù),迎合思考方式而生成的而非必定的模式。有主有次,執(zhí)行起來條清縷析,既可將程序模塊化又實現(xiàn)了一個閉合的整體。
模塊化程序設(shè)計方法是把整個程序劃分為若干功能較為單一的程序模塊,然后分別予以實現(xiàn),最后再把所有的程序模塊像搭積木一樣裝配起來。
利用函數(shù)可以實現(xiàn)程序的模塊化,可以大大地減輕編碼工作量。在函數(shù)內(nèi)部或復(fù)合語句塊內(nèi)部定義的 auto 類型變量稱為局部變量。
局部變量的作用域從該局部變量定義的位置開始到本函數(shù)或復(fù)合語句結(jié)束處。局部變量的生存期較短暫。當(dāng)局部變量所在的函數(shù)被調(diào)用時,局部變量內(nèi)存空間被分配,函數(shù)調(diào)用結(jié)束后,局部變量內(nèi)存空間被釋放。
函數(shù)的形參和實參均屬于局部變量,調(diào)用函數(shù)時,形參內(nèi)存空間被分配。函數(shù)調(diào)用結(jié)束后,形參內(nèi)存空間被釋放。C語言函數(shù)參數(shù)傳遞可分為三種情況:簡單變量作為函數(shù)參數(shù)、數(shù)組名作為函數(shù)參數(shù)以及指針作為函數(shù)參數(shù)。
參考資料來源:百度百科-main函數(shù)
一般來說,Python程序員可能是這樣寫main()函數(shù)的:
"""Module docstring.
This serves as a long usage message.
"""import sysimport getoptdef main():
# parse command line options
try:
opts, args = getopt.getopt(sys.argv[1:], "h", ["help"]) except getopt.error, msg: print msg print "for help use --help"
sys.exit(2) # process options
for o, a in opts: if o in ("-h", "--help"): print __doc__
sys.exit(0) # process arguments
for arg in args:
process(arg) # process() is defined elsewhereif __name__ == "__main__":
main()1234567891011121314151617181920212223242526
Guido也承認(rèn)之前自己寫的main()函數(shù)也是類似的結(jié)構(gòu),但是這樣寫的靈活性還不夠高,尤其是需要解析復(fù)雜的命令行選項時。為此,他向大家提出了幾點建議。
添加可選的 argv 參數(shù)
首先,修改main()函數(shù),使其接受一個可選參數(shù) argv,支持在交互式shell中調(diào)用該函數(shù):
def main(argv=None):
if argv is None:
argv = sys.argv # etc., replacing sys.argv with argv in the getopt() call.1234
這樣做,我們就可以動態(tài)地提供 argv 的值,這比下面這樣寫更加的靈活:
def main(argv=sys.argv):
# etc.12
這是因為在調(diào)用函數(shù)時,sys.argv 的值可能會發(fā)生變化;可選參數(shù)的默認(rèn)值都是在定義main()函數(shù)時,就已經(jīng)計算好的。
但是現(xiàn)在sys.exit()函數(shù)調(diào)用會產(chǎn)生問題:當(dāng)main()函數(shù)調(diào)用sys.exit()時,交互式解釋器就會推出!解決辦法是讓main()函數(shù)的返回值指示退出狀態(tài)(exit status)。因此,最后面的那行代碼就變成了這樣:
if __name__ == "__main__":
sys.exit(main())12
并且,main()函數(shù)中的sys.exit(n)調(diào)用全部變成return n。
定義一個Usage()異常
另一個改進(jìn)之處,就是定義一個Usage()異常,可以在main()函數(shù)最后的except子句捕捉該異常:
import sysimport getoptclass Usage(Exception):
def __init__(self, msg):
self.msg = msgdef main(argv=None):
if argv is None:
argv = sys.argv try: try:
opts, args = getopt.getopt(argv[1:], "h", ["help"]) except getopt.error, msg: raise Usage(msg) # more code, unchanged
except Usage, err: print sys.stderr, err.msg print sys.stderr, "for help use --help"
return 2if __name__ == "__main__":
sys.exit(main())123456789101112131415161718192021222324
這樣main()函數(shù)就只有一個退出點(exit)了,這比之前兩個退出點的做法要好。而且,參數(shù)解析重構(gòu)起來也更容易:在輔助函數(shù)中引發(fā)Usage的問題不大,但是使用return 2卻要求仔細(xì)處理返回值傳遞的問題。
首先分兩種情況:
1.交互窗口處執(zhí)行:這個時候由于python的強(qiáng)制縮進(jìn),因此想要結(jié)束函數(shù)的定義只需要按兩下enter即可。
2.在.py文件中編寫,結(jié)束函數(shù)只需要不再縮進(jìn)即可
調(diào)用函數(shù)方法相同,把函數(shù)名及參數(shù)寫上就可以了,如果有返回值可以
r=functionA(var1)
附:測試代碼(python3運(yùn)行通過)
#?-*-?coding:utf-8?-*-
#author:zfxcx
def?pt():
print("hello")
pt()
當(dāng)前名稱:python主函數(shù)退出 python沒有主函數(shù)
瀏覽路徑:http://www.chinadenli.net/article26/hihojg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、微信公眾號、Google、用戶體驗、搜索引擎優(yōu)化、網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)