中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

python類寫主函數(shù) python調(diào)用主函數(shù)語(yǔ)句

python先寫主函數(shù)錄入信息后調(diào)用函數(shù)未更新

檢查調(diào)用語(yǔ)句和函數(shù)定義。

成都創(chuàng)新互聯(lián)公司是一家專業(yè)提供東昌府企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、HTML5建站、小程序制作等業(yè)務(wù)。10年已為東昌府眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進(jìn)行中。

函數(shù)要先定義才能調(diào)用,如果函數(shù)已經(jīng)定義則檢查調(diào)用語(yǔ)句是否出錯(cuò),仔細(xì)分析報(bào)錯(cuò)原因。

Python由荷蘭數(shù)學(xué)和計(jì)算機(jī)科學(xué)研究學(xué)會(huì)的吉多·范羅蘇姆于1990年代初設(shè)計(jì),作為一門叫做ABC語(yǔ)言的替代品,Python提供了高效的高級(jí)數(shù)據(jù)結(jié)構(gòu),還能簡(jiǎn)單有效地面向?qū)ο缶幊蘌ython語(yǔ)法和動(dòng)態(tài)類型,以及解釋型語(yǔ)言的本質(zhì),使它成為多數(shù)平臺(tái)上寫腳本和快速開發(fā)應(yīng)用的編程語(yǔ)言,隨著版本的不斷更新和語(yǔ)言新功能的添加,逐漸被用于獨(dú)立的、大型項(xiàng)目的開發(fā)。

python 怎么寫main 函數(shù)?

print?'main'當(dāng)腳本作為執(zhí)行腳本時(shí)__name__的值為__main__當(dāng)腳本作為模塊時(shí)__name__為模塊文件名。

main函數(shù)在程序中大多數(shù)是必須存在的。C語(yǔ)言標(biāo)準(zhǔn)中強(qiáng)制要求main函數(shù)的返回值類型為int,main函數(shù)的返回值是傳遞給操作系統(tǒng),讓操作系統(tǒng)判斷程序的執(zhí)行情況。

一個(gè)程序,無(wú)論復(fù)雜或簡(jiǎn)單,總體上都是一個(gè)“函數(shù)”;這個(gè)函數(shù)就稱為“main 函數(shù)”,也就是“主函數(shù)”。比如有個(gè)“做菜”程序,那么“ 做菜 ”這個(gè)過(guò)程就是“主函數(shù)”。在主函數(shù)中,根據(jù)情況,你可能還需要調(diào)用“買菜,切菜,炒菜”等子函數(shù)。

main函數(shù)在程序中大多數(shù)是必須存在的,但是依然有例外情況,比如windows編程中可以編寫一個(gè)動(dòng)態(tài)鏈接庫(kù)模塊,這是其他windows程序可以使用的代碼。由于DLL模塊不是獨(dú)立的程序,因此不需要main函數(shù)。

從函數(shù)的形勢(shì)看,函數(shù)分兩類:

無(wú)參函數(shù)。printstar和print_message就是無(wú)參函數(shù)。在調(diào)用無(wú)參函數(shù)時(shí),主調(diào)函數(shù)并不將數(shù)據(jù)傳送給被調(diào)用函數(shù),一般用來(lái)執(zhí)行指定的一組操作。

有參函數(shù)。在調(diào)用函數(shù)時(shí),在主調(diào)函數(shù)和被調(diào)用函數(shù)之間有數(shù)據(jù)傳遞。也就是說(shuō),主調(diào)函數(shù)可以將數(shù)據(jù)傳遞給被調(diào)用函數(shù)使用,被調(diào)用函數(shù)中的數(shù)據(jù)也可以帶回來(lái)供主調(diào)函數(shù)使用。

python主函數(shù)怎么寫

一般來(lái)說(shuō),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ù)雜的命令行選項(xiàng)時(shí)。為此,他向大家提出了幾點(diǎn)建議。

添加可選的 argv 參數(shù)

首先,修改main()函數(shù),使其接受一個(gè)可選參數(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

這樣做,我們就可以動(dòng)態(tài)地提供 argv 的值,這比下面這樣寫更加的靈活:

def main(argv=sys.argv):

# etc.12

這是因?yàn)樵谡{(diào)用函數(shù)時(shí),sys.argv 的值可能會(huì)發(fā)生變化;可選參數(shù)的默認(rèn)值都是在定義main()函數(shù)時(shí),就已經(jīng)計(jì)算好的。

但是現(xiàn)在sys.exit()函數(shù)調(diào)用會(huì)產(chǎn)生問(wèn)題:當(dāng)main()函數(shù)調(diào)用sys.exit()時(shí),交互式解釋器就會(huì)推出!解決辦法是讓main()函數(shù)的返回值指示退出狀態(tài)(exit status)。因此,最后面的那行代碼就變成了這樣:

if __name__ == "__main__":

sys.exit(main())12

并且,main()函數(shù)中的sys.exit(n)調(diào)用全部變成return n。

定義一個(gè)Usage()異常

另一個(gè)改進(jìn)之處,就是定義一個(gè)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ù)就只有一個(gè)退出點(diǎn)(exit)了,這比之前兩個(gè)退出點(diǎn)的做法要好。而且,參數(shù)解析重構(gòu)起來(lái)也更容易:在輔助函數(shù)中引發(fā)Usage的問(wèn)題不大,但是使用return 2卻要求仔細(xì)處理返回值傳遞的問(wèn)題。

本文標(biāo)題:python類寫主函數(shù) python調(diào)用主函數(shù)語(yǔ)句
網(wǎng)站路徑:http://m.rwnh.cn/article44/hiiihe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、服務(wù)器托管、網(wǎng)頁(yè)設(shè)計(jì)公司、網(wǎng)站策劃定制開發(fā)、網(wǎng)站設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)
始兴县| 监利县| 颍上县| 浦江县| 原阳县| 聂拉木县| 南通市| 八宿县| 上虞市| 关岭| 奉贤区| 新泰市| 余姚市| 武强县| 密山市| 凤山市| 康保县| 周口市| 台山市| 通许县| 杂多县| 桂平市| 南陵县| 桓台县| 静宁县| 调兵山市| 锡林浩特市| 榆树市| 安顺市| 修水县| 博白县| 海安县| 平和县| 阿瓦提县| 刚察县| 泰和县| 武功县| 九龙县| 嘉善县| 太康县| 龙江县|