日韩欧乱色一区二区三区在线_久久―日本道色综合久久_欧美日本一区二区_网曝91综合精品门事件在线

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > Python之有妙用的__name__屬性

Python之有妙用的__name__屬性

來源:千鋒教育
發布人:xqq
時間: 2023-11-07 14:56:46 1699340206

前面說了,py文件分兩種:用于執行的程序文件和用于導入的模塊文件。當直接使用pythona.py的時候表示a.py是用于執行的程序文件,通過import/from方式導入的py文件是模塊文件。

__name__屬性用來區分py文件是程序文件還是模塊文件:

當文件是程序文件的時候,該屬性被設置為__main__

當文件是模塊文件的時候(也就是被導入時),該屬性被設置為自身模塊名

換句話說,__main__表示的是當前執行程序文件的默認模塊名,想必學過其他支持包功能的語言的人很容易理解:程序都需要一個入口,入口程序所在的包就是main包,在main包中導入其它包來組織整個程序。python也是如此,只不過它是隱式自動設置的。

對于python來說,因為隱式自動設置,該屬性就有了特殊妙用:直接在模塊文件中通過if__name__=="__main__"來判斷,然后寫屬于執行程序的代碼,如果直接用python執行這個文件,說明這個文件是程序文件,于是會執行屬于if代碼塊的代碼,如果是被導入,則是模塊文件,if代碼塊中的代碼不會被執行。

顯然,這是python中非常方便的單元測試方式。

例如,寫一個模塊文件,里面包含一個函數,用來求給定序列的最大值和最小值:

defminmax(func,*args):

res=args[0]

forarginargs[1:]:

iffunc(arg,res):

res=arg

returnres

deflessthan(x,y):returnx

defgreatethan(x,y):returnx>y

#測試代碼

if__name__=="__main__":

print(minmax(lessthan,3,6,2,1,4,5))

print(minmax(greatethan,3,6,2,1,4,5))

以上內容為大家介紹了Python之有妙用的__name__屬性,希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構:千鋒教育。


tags: python培訓
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
主站蜘蛛池模板: 得荣县| 东乡| 淮滨县| 体育| 十堰市| 阳朔县| 泰兴市| 庆元县| 晴隆县| 广宁县| 阜宁县| 四子王旗| 资中县| 分宜县| 亳州市| 大冶市| 香港 | 新巴尔虎左旗| 团风县| 漯河市| 青田县| 肃北| 左云县| 阿勒泰市| 乌拉特前旗| 宣恩县| 栖霞市| 象山县| 鄂州市| 射阳县| 尚义县| 乌兰浩特市| 衡水市| 逊克县| 海城市| 天柱县| 敦化市| 正定县| 云阳县| 鄂伦春自治旗| 凤山市|