精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

寫 Python 腳本,一定要加上這個!

開發 前端
很多朋友在寫腳本時比較隨意,簡單的腳本直接一溜寫下來,沒有函數,順序執行。復雜點的腳本,可能會加函數。這種寫法可讀性比較差,經常讓人一眼找不到程序運行的入口和順序。

使用 Python 的人,平時經常會寫一些腳本,不管是為了提升工作效率,還是為了滿足一些特定的需求,Python 腳本都是一個常見又有用的東西。

但是,我最近發現了一個以前不曾察覺的問題,就是腳本里面是否添加 if __name__ == "__main__":
這個語句,對腳本的使用其實是有很大影響的,并且這里面還有很大的學問。

常見誤區

很多朋友在寫腳本時比較隨意,簡單的腳本直接一溜寫下來,沒有函數,順序執行。復雜點的腳本,可能會加函數。這種寫法可讀性比較差,經常讓人一眼找不到程序運行的入口和順序。

而 Python 社區比較推薦的寫法是在寫腳本時,加上下面這個語句:

def main():
# do something
print("do something.")

if __name__ == "__main__":
main()

大多數人看到這里,會不會說,這有什么,加不加這個沒那么重要吧!

先不要忙著不屑,讓我們一起來仔細掰扯掰扯!

有什么用

在具體說明 if __name__ == '__main__' 的作用前,先從一個簡單的實例直觀上感受一下。

# const.py

PI = 3.14

def train():
print("PI:", PI)

train()
# area.py

from const import PI

def calc_round_area(radius):
return PI * (radius ** 2)

def calculate():
print("round area: ", calc_round_area(2))

calculate()

我們看下 area.py 的運行結果:

PI: 3.14
round area: 12.56

的 PI 變量,在運行的時候,const.py 中函數 train()
中的打印也帶過來了,而我們只是引用變量,并沒有引用函數,所以這是我們不愿意看到的。

解決這個問題的方法也很簡單,我們只需在 const.py 中加上一句:

PI = 3.14

def train():
print("PI:", PI)

if __name__ == "__main__":
train()

再次運行 area.py ,輸出結果如下:

round area:  12.56

這是我們預期的結果。

程序運行入口

叢上述實例可以發現,如果沒有 if __name__=="__main__": ,作為 area.py 導入文件時 const.py
中的所有代碼都被執行了,而加上之后就只運行導入的部分代碼。

這就是 if __name__=="__main__": 顯而易見的作用,實際上 if __name__=="__main__": 就相當于是
Python 模擬的程序入口。由于模塊之間相互引用,不同模塊可能都有這樣的定義,而入口程序只能有一個,選中哪個入口程序取決于 __name__ 的值。

我們再來看一個小程序:

print("look here")
print(__name__)

if __name__ == '__main__':
print("I'm test.py")

程序的運行結果如下:

look here
__main__
I'm test.py

可以發現,此時變量 __name__ 的值為 __main__,所以打印 “I'm
test.py”。如果運行其他文件,通過運行的文件調用本文件,則不會打印該語句,因為程序入口不對,該語句不執行。

代碼規范

有了 if __name__=="__main__": 相當于 Python
程序也有了一個入口函數,我們可以清晰的知道程序的邏輯開始于何處,當然還需要我們自覺的把程序的開始邏輯都放在這里。其實,這也是 PyCharm
推薦的作法。

為什么很多優秀的編程語言,比如 C、Java、Golang、C++ 都有一個 main
入口函數呢?我想很重要的一個原因就是就是程序入口統一,容易閱讀。

多進程場景大作用

如果你用多進程來做并行計算,類似這樣的代碼:

import multiprocessing as mp

def useful_function(x):
return x * x

print("processing in parallel")
with mp.Pool() as p:
results = p.map(useful_function, [1, 2, 3, 4])
print(results)

運行這段代碼,控制臺會一直打印:


processing in parallel
processing in parallel
processing in parallel
processing in parallel
processing in parallel
processing in parallel
processing in parallel
processing in parallel
processing in parallel

并且程序會不停的報錯 RuntimeError。

如果你加上了 if __name__=="__main__": ,程序就會按照預期的進行:

import multiprocessing as mp

def useful_function(x):
return x * x

if __name__ == '__main__':
print("processing in parallel")
with mp.Pool() as p:
results = p.map(useful_function, [1, 2, 3, 4])
print(results)

Python 的多程序就是啟動了多個 Python 解器器,每個 Python 解釋器都會導入你這個腳本,復制一份全局變量和函數給子進程用,如果有了 if
__name__=="__main__":,那它后面的代碼就不會被 import,也就不會被重復執行。否則,這個創建多進程的代碼就會被
import,就會被執行,從而無限遞歸的去創建子進程

總結

if __name__=="__main__": 雖然不是強制的,但是我強列推薦你寫腳本時按照這個規范來做。

責任編輯:武曉燕 來源: Python技術
相關推薦

2021-10-29 06:56:15

Python腳本解釋器

2014-10-29 14:52:13

程序員

2022-10-17 06:22:36

Anaconda開源

2020-10-27 10:58:07

Linux內核操作系統

2018-09-11 10:57:53

CIOCAOBI

2010-11-19 16:02:42

IT族

2023-05-16 14:07:52

AI自然語言

2016-01-13 10:24:27

2022-02-18 12:24:39

PythonNumpy Arra大數據

2011-11-09 14:54:50

Linux操作系統

2022-08-31 22:50:13

JavaScript函數JSON

2021-03-05 11:02:14

iOS 14.5蘋果更新

2018-04-16 09:31:17

2021-05-18 11:40:11

開源腳本工具

2025-05-26 01:10:00

JSON開發數據

2021-12-03 12:35:50

new[]delete[]語言

2019-05-17 14:55:08

優化圖形差距

2022-04-24 09:54:24

ProxyReflect前端

2011-05-10 15:51:34

SEO

2020-08-19 10:11:36

SQLMySQL數據庫
點贊
收藏

51CTO技術棧公眾號

久久久久久久久久久亚洲| 欧美日韩一区二区三区在线| 精品一区二区日本| 亚洲婷婷久久综合| 亚洲一区二区| 日韩精品久久久久久福利| 少妇激情一区二区三区| dy888亚洲精品一区二区三区| 国产成人丝袜美腿| 日本老师69xxx| 日韩三级在线观看视频| 欧美爱爱网站| 7777女厕盗摄久久久| 91丨porny丨探花| 在线观看免费高清完整| 成人av午夜电影| 国产综合久久久久| 国产精品午夜影院| 欧美在线资源| 亚洲亚裔videos黑人hd| 亚洲美女高潮久久久| 91国内外精品自在线播放| 亚洲永久免费视频| 天堂av一区二区| 天堂网在线观看视频| 麻豆成人免费电影| 91国自产精品中文字幕亚洲| 国产又色又爽又高潮免费| 人人精品亚洲| 欧美白人最猛性xxxxx69交| 久久精品免费网站| 中文字幕乱码在线播放| 性国产高清在线观看| 奇米777欧美一区二区| 国模吧一区二区| 一区二区视频免费看| 欧美日韩一二| 亚洲男人天堂2023| 亚洲综合自拍网| 深夜福利一区| 91精品麻豆日日躁夜夜躁| 无人在线观看的免费高清视频| gogo久久| 亚洲国产视频一区二区| mm131午夜| jzzjzzjzz亚洲成熟少妇| 99久久免费精品高清特色大片| 5g影院天天爽成人免费下载| 国产在成人精品线拍偷自揄拍| 日韩制服丝袜av| 日韩av免费在线| youjizz在线视频| 欧美一级一区| 国产mv免费观看入口亚洲| 欧美一区二区激情视频| 亚洲激情亚洲| 97av在线视频免费播放| 亚洲视频免费播放| 中文精品在线| 青草热久免费精品视频| 欧美精品韩国精品| 久久九九99| 国产精品扒开腿爽爽爽视频| 在线视频精品免费| 日本欧美韩国一区三区| 国产精品久久久久福利| 亚洲一二区视频| 黑人巨大精品欧美一区| 99国产视频| 天堂av在线免费| 久久美女艺术照精彩视频福利播放| 美女主播视频一区| 国产对白叫床清晰在线播放| 中文字幕一区二区三区色视频| 中文字幕乱码一区二区三区| 最新av在线播放| 亚洲国产aⅴ天堂久久| 九九九九免费视频| yy6080久久伦理一区二区| 欧美男生操女生| 色偷偷中文字幕| 久久资源综合| 在线观看成人黄色| 欧洲猛交xxxx乱大交3| 国产一区日韩一区| 国产精品ⅴa在线观看h| 91麻豆成人精品国产免费网站| 国产精品性做久久久久久| 国产精品免费一区二区三区在线观看| 欧美精品少妇| 亚洲人亚洲人成电影网站色| 青青草精品视频在线| 午夜无码国产理论在线| 欧美一级欧美三级在线观看 | 国产在线看片免费视频在线观看| 欧美日韩国产综合视频在线观看中文| 日日碰狠狠躁久久躁婷婷| 欧美三级电影网址| 日韩电影在线观看永久视频免费网站| 69视频在线观看免费| 在线中文字幕第一区| 秋霞av国产精品一区| 国产巨乳在线观看| 91色|porny| 青青草免费在线视频观看| 巨茎人妖videos另类| 91精品国产免费久久综合| av直播在线观看| 欧美不卡一区| 国产精品日韩电影| 亚洲欧美丝袜中文综合| 综合久久国产九一剧情麻豆| 国产a级一级片| 一本色道69色精品综合久久| 一本色道久久88综合亚洲精品ⅰ| 劲爆欧美第一页| 久久激情五月激情| 日本午夜精品一区二区三区| av漫画网站在线观看| 在线观看一区日韩| 欧美bbbbb性bbbbb视频| 亚洲第一偷拍| 国产日韩av在线播放| 三级视频网站在线| 亚洲大尺度视频在线观看| 可以看污的网站| 精品久久一区| 欧美中文字幕在线观看| 人妻少妇精品无码专区| 亚洲欧美日韩在线| 国产视频1区2区3区| 免费观看久久av| 97碰在线观看| 丰满少妇被猛烈进入| 亚洲免费视频成人| 日韩精品视频一二三| 欧美精选一区二区三区| 国产91九色视频| 天天干在线观看| 亚洲图片欧美视频| 国产性猛交96| 欧美视频不卡| 成人综合av网| 色yeye免费人成网站在线观看| 欧美一区二区福利视频| 精品国产精品国产精品| 国内外成人在线| 一区二区视频在线观看| 欧美xxxx性| x99av成人免费| 亚洲一卡二卡在线| 亚洲天天做日日做天天谢日日欢| 玖玖爱视频在线| 66久久国产| 亚洲最大成人免费视频| 中文字幕免费高清电视剧网站在线观看| 337p亚洲精品色噜噜| 日韩精品一区二区亚洲av性色| 狠狠久久亚洲欧美| 日韩精品一区二区在线视频| 国产成人精品福利| 欧美壮男野外gaytube| 精品无人乱码| 欧美日韩激情在线| 成人免费视频网站入口::| 国产麻豆视频精品| 国产欧美日韩网站| 国产日产精品_国产精品毛片| 日韩免费高清在线观看| 成人精品一区| 日韩一区二区中文字幕| 国产 欧美 日韩 在线| 久久久久国产精品麻豆| 亚洲综合婷婷久久| 好吊日精品视频| 看欧美日韩国产| 青娱乐极品盛宴一区二区| xxxxx成人.com| 嫩草影院一区二区| 色综合天天狠狠| 人人澡人人澡人人看| 成人午夜大片免费观看| 国产亚洲综合视频| 国产精品99一区二区三区| 国产98在线|日韩| 88xx成人免费观看视频库| 精品激情国产视频| 天堂中文在线观看视频| 在线影视一区二区三区| 老女人性淫交视频| 91美女福利视频| 中文字幕日韩综合| 亚洲日产国产精品| 亚洲图片在线观看| 欧美性生活一级片| 成人激情av在线| 色是在线视频| 久久精品最新地址| 黄色av免费在线观看| 欧美一级高清片在线观看| 日本中文字幕在线| 又紧又大又爽精品一区二区| 男女做爰猛烈刺激| 岛国一区二区三区| av在线网址导航| 亚洲综合欧美| 蜜臀av色欲a片无码精品一区| 精品久久久久中文字幕小说| 国产高清不卡av| 成人国产精品一区二区网站| 日韩免费观看在线观看| 免费不卡av| 久久精品国产91精品亚洲| 欧美一区二区少妇| 亚洲第一区第一页| 国产美女自慰在线观看| 欧美熟乱第一页| 亚洲天堂一区在线| 亚洲第一主播视频| 男的操女的网站| 中文字幕欧美日韩一区| 法国伦理少妇愉情| jizz一区二区| 国产日韩视频一区| 国产一区二区三区观看| 蜜臀一区二区三区精品免费视频| 日韩精品一级中文字幕精品视频免费观看| 成人av在线播放观看| 久久久久蜜桃| 最新不卡av| 日韩精品诱惑一区?区三区| 欧美下载看逼逼| 亚洲都市激情| 久久国产一区二区| 日本欧美三级| 韩国精品一区二区三区六区色诱| 在线精品国产亚洲| 亚洲精品日产aⅴ| 美女日韩一区| 91手机在线观看| 91精品尤物| 国产精品亚洲综合| 久久夜色电影| 久久99精品久久久久久三级| 精品综合久久88少妇激情| 国产精品久久久久久免费观看| 91精品啪在线观看国产爱臀| 成人欧美一区二区| 国产成人精品亚洲线观看| 国产伦精品一区二区三区免| 福利在线一区| 九色一区二区| 精品成av人一区二区三区| 欧美专区一二三 | 成人网页在线观看| 亚洲高清无码久久| 91色porny| 女人十八毛片嫩草av| 国产精品乱人伦| 男人与禽猛交狂配| 亚洲国产美国国产综合一区二区| 国产污视频在线看| 欧美午夜宅男影院在线观看| 日本黄色中文字幕| 欧美绝品在线观看成人午夜影视| 国产青青草视频| 亚洲成人国产精品| 青青草观看免费视频在线| 永久免费精品影视网站| 欧美激情黑人| 欧美激情xxxxx| 在线男人天堂| 国产三级精品网站| 2023国产精华国产精品| 欧美12av| 久久精品亚洲人成影院| 亚洲熟妇无码一区二区三区导航| 麻豆久久婷婷| 91插插插影院| 91在线小视频| 久久国产高清视频| 亚洲电影在线免费观看| 国产一级片一区二区| 欧美一区二区三区喷汁尤物| 色偷偷在线观看| 中文字幕日韩综合av| 久久香蕉av| 国产精品高潮呻吟久久av无限| 99精品国产九九国产精品| 国产一区精品在线| 欧美大片aaaa| 大j8黑人w巨大888a片| 久久99精品一区二区三区三区| a级片在线观看视频| 国产精品午夜久久| 日韩精品成人一区| 欧美日韩一区二区三区视频| 成人午夜精品福利免费| 综合国产在线观看| 91av久久| 亚洲自拍小视频免费观看| 亚洲动漫精品| 无码 制服 丝袜 国产 另类| 蜜桃视频在线观看一区| a天堂视频在线观看| 中文字幕一区二区三区精华液| 亚洲精品1区2区3区| 91精品欧美福利在线观看| 国产黄在线观看| 91国在线精品国内播放 | 久久爱av电影| 欧美二区不卡| 在线观看国产中文字幕| 久久综合国产精品| 国产精品99精品| 欧美一区二区三区成人| 成年人在线免费观看| 欧美一区三区三区高中清蜜桃| 色悠久久久久综合先锋影音下载| 午夜午夜精品一区二区三区文| 99综合视频| 欧美xxxxx少妇| 夜夜嗨av一区二区三区中文字幕| 一级片在线免费观看视频| 亚洲日韩欧美视频| 蜜臀久久精品| 精品国产乱码久久久久久108| 欧美福利电影在线观看| 最新av免费在线观看| 欧美极品少妇xxxxⅹ高跟鞋| av资源免费观看| 亚洲第一精品自拍| 91视频欧美| 国产一区不卡在线观看| 激情自拍一区| 在线精品视频播放| 亚洲成av人片在www色猫咪| 国内精品久久久久久久久久久| 日韩中文有码在线视频| 激情中国色综合| 亚洲人成网站在线观看播放 | 国产日韩欧美在线看| 精品理论电影在线| 天堂一区在线观看| 国产精品美女久久久久高潮| 日韩欧美一级大片| 在线观看中文字幕亚洲| 欧美日韩视频免费看| 一区二区三区在线观看www| 久久99国产乱子伦精品免费| 亚洲精品一区二区三区在线播放| 欧美日韩精品高清| 成人免费观看视频大全| 99热最新在线| 激情偷拍久久| 欧美成人午夜精品免费| 色婷婷激情综合| 高清性色生活片在线观看| 国产精品美女久久久免费| 91一区二区三区四区| 北条麻妃亚洲一区| 亚洲一区二区在线观看视频 | 国产日韩亚洲欧美综合| 中文字幕久久久久| 久久久久北条麻妃免费看| 视频一区中文字幕精品| 国模无码视频一区二区三区| 久久久夜色精品亚洲| 一区二区小视频| 欧美精品一二区| 欧美巨大xxxx| 黄大色黄女片18第一次| 亚洲精品国产第一综合99久久| 成人午夜免费福利| 国产成人中文字幕| 中文字幕日韩一区二区不卡| 日本一卡二卡在线| 欧美怡红院视频| 中文字幕资源网在线观看| 国产日韩欧美一区二区三区四区| 久久久国产精品一区二区中文| 亚洲天堂最新地址| 精品国产亚洲在线| 久久夜夜操妹子| 国产资源第一页| 91美女在线观看| 亚洲在线免费观看视频| 欧美激情啊啊啊| 日韩久久久久| 亚洲啪av永久无码精品放毛片| 欧洲精品一区二区三区在线观看| 超碰免费在线播放| 欧美日韩一区二区视频在线观看| 精品无人区卡一卡二卡三乱码免费卡 | 九一成人免费视频| 亚洲精品久久久久久| 一本大道综合伊人精品热热 | 日韩免费精品视频| 欧美日韩三级| 超薄肉色丝袜一二三|