日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

if condition 大于_if __name__ == #x27;__main__#x27;: 究竟起什么作用,阅读本文后,其他文章不必再看...

發(fā)布時(shí)間:2024/10/8 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 if condition 大于_if __name__ == #x27;__main__#x27;: 究竟起什么作用,阅读本文后,其他文章不必再看... 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
def

這種形式的代碼,相信你已經(jīng)見過很多,在腳本的末尾,出現(xiàn)一個(gè)if條件判斷,這個(gè)if條件判斷的作用是什么呢, __name__ 事先并沒有定義,為什么可以直接使用呢,它從哪里來? 回答這些問題,必須先了解模塊屬性

1、模塊屬性

一個(gè)python腳本(以.py 結(jié)尾的文件)就是一個(gè)模塊,模塊自身有若干屬性,其中比較常用的是如下兩個(gè)
1. __name__ 模塊的名稱
2. __file__ 腳本的完整文件路徑

在任意一個(gè)python腳本里,你都可以輸出這兩個(gè)屬性

print(__name__) print(__file__)

得到結(jié)果

__main__ /Users/zhangdongsheng/experiment/test/test.py

__name__ 的值是 __main__ ,這表示模塊的名稱是__main__
__file__ 是文件的完整路徑

雖然弄清楚了__name__ 是怎么一回事,但也帶來了新的疑問,明明__name__ 就等于 __main__ ,為何還要做if條件判斷呢?顯然是存在 __name__ 不等于__main__ 的情況。

2、直接執(zhí)行與其他模塊引入

簡單的功能,我們可以在一個(gè)python腳本里完成,但復(fù)雜的功能,我們會(huì)寫多個(gè)python 腳本,比如下面的例子里,有兩個(gè)腳本,一個(gè)是main.py ,做為整個(gè)程序的啟動(dòng)腳本,utils.py 提供一些輔助函數(shù),供main.py使用

(1)utils.py

def

(2)main.py

from

接下來,通過兩步實(shí)驗(yàn),來理解 __name__ 在不同場景下的取值情況。

第一步,先來執(zhí)行utils.py文件

python utils.py

執(zhí)行結(jié)果為

utils 模塊里的__name__ 值為: __main__

第二步,執(zhí)行main.py

python main.py

執(zhí)行結(jié)果為

utils 模塊里的__name__ 值為: utils 輸入兩個(gè)整數(shù),中間用空格分開:5 2 2.5

這里有一個(gè)現(xiàn)象,你必須理解其背后的原因,我們明明執(zhí)行的main.py腳本,但是utils.py腳本里的代碼也被執(zhí)行了,這是因?yàn)樵趍ain.py腳本里引入了utils.py 這個(gè)模塊,被引入的腳本里的代碼會(huì)在引入時(shí)執(zhí)行。

當(dāng)utils.py 被其他腳本引入時(shí),它的__name__ 就不等于__main__, 而是等于utils,恰好是文件名稱去掉.py 剩余的部分。

經(jīng)過上面的實(shí)驗(yàn),我們可以得出兩個(gè)結(jié)論
1. 當(dāng)腳本被直接執(zhí)行時(shí),模塊屬性__name__ 等于__main__
2. 當(dāng)腳本被其他模塊引入時(shí),模塊屬性__name__ 等于腳本名稱去掉.py 后剩余的部分

3、終極目的---測試模塊里函數(shù)

由于一個(gè)腳本被引入時(shí),自身的代碼會(huì)被執(zhí)行,因此我們?cè)诿總€(gè)腳本里都寫上一段if __name__ == '__main__': 如果你希望一些代碼只有在腳本被直接執(zhí)行時(shí)才執(zhí)行,那么就把這些代碼放入到if 語句塊中,最常見的情形就是測試代碼,下面我對(duì)utils.py 進(jìn)行修改

def

我們寫完一個(gè)函數(shù)后,不免要寫一些測試的代碼,而這些測試的代碼我們不希望他們?cè)趗tils.py被引入時(shí)執(zhí)行,只有當(dāng)我們主動(dòng)執(zhí)行utils.py 進(jìn)行測試才執(zhí)行這些測試代碼

掃一掃,更多專業(yè)python技術(shù)分享

總結(jié)

以上是生活随笔為你收集整理的if condition 大于_if __name__ == #x27;__main__#x27;: 究竟起什么作用,阅读本文后,其他文章不必再看...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产高潮国产高潮久久久91 | 91不卡视频 | 中国黄色一级毛片 | 97夜夜| 亚洲精品一区二区三区四区五区 | 五月婷婷六月丁香 | 欧美日本亚洲 | 无码人妻精品一区二区三区在线 | 枫可怜av| 色午夜婷婷 | 亚洲av无码不卡 | 天天干狠狠干 | 成人做受视频试看60秒 | 综合网激情 | 91精品国产亚洲 | 亚欧乱色 | 粗大黑人巨茎大战欧美成人免费看 | 亚洲天堂午夜 | 国产a v一区二区三区 | 欧美日本 | 欧洲av片| 成人污网站 | av中字在线 | 123成人网 | 欧洲午夜视频 | 久久久久久久国产精品美女 | 中文无码日韩欧 | 99精品视频99 | 国产精品天天操 | 一本大道综合伊人精品热热 | 手机在线免费看av | 一级黄色片在线免费观看 | 亚洲成人黄色网址 | 成人看片黄a免费看视频 | 日日干夜夜爽 | 蜜臀av无码一区二区三区 | 69久久久| 国精品无码人妻一区二区三区 | 人人爽夜夜爽 | 久久久久人妻一区精品色 | youjizz.com在线观看 | 美女扒开内裤让男人捅 | 亚洲一区二区三区四区五区六区 | 国产妻精品一区二区在线 | 日本三级大全 | 在线激情小视频 | 欧美精品毛片 | 日本天堂在线视频 | 91精品视频免费在线观看 | 中国浓毛少妇毛茸茸 | 日韩夜夜操 | 91丝袜呻吟高潮美腿白嫩 | 国产自产精品 | 99精品欧美一区二区蜜桃免费 | 狠狠狠狠狠 | 蜜桃av中文字幕 | 四虎影视永久地址 | 中文字幕在线国产 | 极品粉嫩小仙女高潮喷水久久 | 国产欧美一区二区视频 | 成人av免费播放 | 国产精品一区电影 | 麻豆av在线免费观看 | 一眉道姑 电影 | 91插插插插插插插插 | 亚洲色图欧美色 | 欧美日韩一区在线观看 | 美女mm131爽爽爽免费动视频 | 欧美一区日韩一区 | 亚洲人体一区 | jizz毛片 | av网址免费在线观看 | 一本色道久久综合狠狠躁 | 97超碰超碰 | 四虎在线影院 | 亚洲综合久久av一区二区三区 | 成人片免费视频 | 日本一区二区在线免费 | 精品国自产拍在线观看 | 日韩精品国产一区二区 | 日本黄xxxxxxxxx100 | 久久精品婷婷 | 午夜aaa| 精品无码一区二区三区 | 亚洲艹 | 99re在线视频免费观看 | 亚洲精品蜜桃 | 少妇高潮淫片免费观看 | 黄色自拍网站 | 欧美福利视频一区二区 | 瑟瑟网站免费 | 精品999久久久一级毛片 | 激情五月在线 | 97成人资源站 | 久久国产乱子伦精品 | 在线观看三级网站 | 视频福利一区 | 亚洲精选一区二区三区 | 亚洲免费观看高清在线观看 |