Python編程之順序執(zhí)行與程序的主入口詳解
前言
本章將會講解Python編程中的順序執(zhí)行與程序的主入口。
1.順序執(zhí)行(了解)
Python代碼在執(zhí)行過程中,遵循下面的基本原則:
- 普通語句,直接執(zhí)行;
- 碰到函數(shù),將函數(shù)體載入內(nèi)存,并不直接執(zhí)行
- 碰到類,執(zhí)行類內(nèi)部的普通語句,但是類的方法只載入,不執(zhí)行
- 碰到if、for等控制語句,按相應控制流程執(zhí)行
- 碰到@,break,continue等,按規(guī)定語法執(zhí)行
- 碰到函數(shù)、方法調(diào)用等,轉而執(zhí)行函數(shù)內(nèi)部代碼,執(zhí)行完畢繼續(xù)執(zhí)行原有順序代碼
# #對于普通語句,代碼從上之下執(zhí)行
# print("hello world")
# print("hello world")
# print("hello world")
#此時代碼從上之下執(zhí)行,但是函數(shù)只有在調(diào)用時才會執(zhí)行
# def func_name():
# print("i am func name")
# func_name()
# class MyClass:
# print("i am myclass")
#
# def my_text(self):
# print("i am mytest ")
#
#
# d = MyClass()
# d.my_test()2.程序主入口(熟悉)
一個 .py,除了可以被直接運行外,還可以作為模塊, 被其他 .py文件導入。不管是直接運行還是被導 入,.py 文件的最頂層代碼都會被運行( Python 用縮 進來區(qū)分代碼層次)。 但是當一個 .py 文件作為模塊被導入時,我們可能不 希望一部分代碼被運行。那么就可以將這部分代碼的 調(diào)用寫在主程序中。

def func_one():
print("func_one")
def func_two():
print("func_two")
func_one()
#程序的主入口
if __name__ == '__main__':
func_two()#當我導入了demo19之后,運行demo13的話,會執(zhí)行demo3內(nèi)部的代碼 import demo19 #執(zhí)行demo4,竟然只打印輸出了func_one
再來解釋下
所以上面代碼 if 的意思就是:如果運行的程序是你自己,那么就 print....
假設運行的是 xiaoming.py,那么就會執(zhí)行主函數(shù)
假設運行的是 xiaohong.py,即使 xiaohong 導入了 xiaoming,也不會執(zhí)行 xiaoming.py 里面的主函數(shù)(main 函數(shù))
是否一定需要執(zhí)行入口(主函數(shù))
不一定
假設沒有主函數(shù),那么運行 xiaoming.py 時,就會至上而下,逐行運行 xiaoming.py 的所有代碼
執(zhí)行入口的意義
將業(yè)務代碼寫在主函數(shù)上面,主函數(shù)用來調(diào)用有業(yè)務代碼,代碼結構整潔
向 Java、C、Golang 看齊,他們都是要求一個程序必須有一個主執(zhí)行入口才能正確運行
總結
到此這篇關于Python編程之順序執(zhí)行與程序的主入口的文章就介紹到這了,更多相關Python順序執(zhí)行與程序主入口內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python實現(xiàn)讀取SQLServer數(shù)據(jù)并插入到MongoDB數(shù)據(jù)庫的方法示例
這篇文章主要介紹了Python實現(xiàn)讀取SQLServer數(shù)據(jù)并插入到MongoDB數(shù)據(jù)庫的方法,涉及Python同時進行SQLServer與MongoDB數(shù)據(jù)庫的連接、查詢、讀取、寫入等相關操作實現(xiàn)技巧,需要的朋友可以參考下2018-06-06
python+selenium行為鏈登錄12306(滑動驗證碼滑塊)
這篇文章主要介紹了python+selenium行為鏈登錄12306,使用python網(wǎng)絡爬蟲登錄12306,下面小編為大家分享一段代碼,具有一定的參考價值,需要的小伙伴可以參考一下2022-02-02
Django基于Models定制Admin后臺實現(xiàn)過程解析
這篇文章主要介紹了Django基于Models定制Admin后臺實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-11-11
Python Numpy運行報錯IndexError與形狀不匹配的問題解決辦法
在使用Numpy進行數(shù)據(jù)處理和科學計算時,IndexError和形狀不匹配(Shape Mismatch)是常見的錯誤類型,這些錯誤通常發(fā)生在數(shù)組索引操作、數(shù)組運算或數(shù)組重塑時,本文將通過一個具體的例子來詳細分析這些錯誤的原因和解決辦法,需要的朋友可以參考下2024-07-07
vscode搭建python Django網(wǎng)站開發(fā)環(huán)境的示例
本文主要介紹了vscode搭建python Django網(wǎng)站開發(fā)環(huán)境的示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-02-02

