Python中優(yōu)秀的功能和庫引擎,都離不開/main/函數(shù)的踏實作用。 我們將在本文中從多個方面詳細介紹/main/函數(shù)的作用。 一、作為代碼執(zhí)行的入口在Python中,/main/函數(shù)就像其他編程語言中的/main/函數(shù)一樣,是Python程序執(zhí)行的入口。這意味著,/main/函數(shù)是在程序的標準名稱空間中自動調(diào)用的。 # Example1:
def main():
# code here
print('Hello World!')
if __name__ == '__main__':
main()
正如上述代碼所示,如果在Python腳本中定義了一個/main/函數(shù),然后在文件的底部添加/main/函數(shù)的調(diào)用(如果符合條件),則代碼將從/main/函數(shù)的定義開始執(zhí)行。 二、作為Python模塊導(dǎo)入時的默認調(diào)用另一個值得一提的重要作用是,在Python模塊導(dǎo)入時,/main/函/數(shù)被默認調(diào)用。這可以促使程序員使用模塊時執(zhí)行任何特定任務(wù),例如,當/setup.py/文件導(dǎo)入/pip/時,它會自動構(gòu)建項目下REQUIRED文件中的依賴項。
如上述代碼片段所示,被導(dǎo)入的模塊中的/main/函數(shù)在Python模塊被導(dǎo)入時默認被調(diào)用。 因此,在main.py文件中,導(dǎo)入該模塊時程序?qū)⑤敵觥癟his is a Python Module”。 三、Python中簡單控制流程的開端在Python中,/main/函數(shù)還可作為控制流程的開端,使程序員在設(shè)計和構(gòu)建大程序時,更易于實現(xiàn)程序流程控制。 # Example3:
def main():
print('Welcome to Python Main Function')
# the following methods will be called on running the module
mod1.add()
mod2.sub()
if __name__ == '__main__':
main()
在上述代碼中,main.py文件是程序的初始點,同時對程序流程進行控制。例如,/main/函數(shù)的調(diào)用引導(dǎo)代碼執(zhí)行,進而調(diào)用其他模塊中定義的函數(shù)。 四、作為Python中高級特殊方法調(diào)用的起點在Python中,還有一種重要的高級特殊方法,這種方法主要是為了在/Python/中快速實現(xiàn)多個類,同時使用統(tǒng)一的接口進行調(diào)用。主要思路是通過__main__方法引導(dǎo)代碼執(zhí)行,然后將其他特定的函數(shù)和實例化工作分發(fā)到其他部分,以便模塊可以被復(fù)用。
在上述代碼中,通過/Python/中的/class/方法定義了一個名為/ArithmeticOperation/的類,同時,在構(gòu)造函數(shù)中初始化了兩個變量。此外,即使是主/函數(shù)/main/,它仍然可以像其他函數(shù)一樣,從一些具有返回值的方法調(diào)用中返回值。在本例中,法如/add/和/sub/兩種方法均返回一個整數(shù)。 五、作為Python腳本命令行參數(shù)的解析在Python的應(yīng)用程序中,/main/函數(shù)還可以被用來解析命令行參數(shù),并將參數(shù)傳遞到其他函數(shù)中。這是因為Python程序提供的標準庫/argparse/提供了一種簡單而可靠的方式讀取參數(shù)。 # Example5:
import argparse
def main(a, b, c):
print(a,b,c)
if __name__ == '__main__':
parser = argparse.ArgumentParser(description='parse inputs')
parser.add_argument('--a', dest='a', type=int, default=3)
parser.add_argument('--b', dest='b', type=int, default=2)
parser.add_argument('--c', dest='c', type=int, default=1)
args = parser.parse_args()
main(args.a, args.b, args.c)
在上述Python代碼中,我們實現(xiàn)了一個/main/函數(shù),該函數(shù)接受3個參數(shù)。通過使用標準庫/argparse/,可以解析命令行參數(shù),并將其傳遞給/main/函數(shù)中的相應(yīng)位置。運行此腳本時,如有傳遞參數(shù)a, b, 和 c則將這些變量傳遞給/main/函數(shù)進行后續(xù)的處理。 |
|
來自: 流形sbz > 《Py函數(shù)》