python項目中包含多個文件&全局內容&函數定義時,語句的執行順序

假如有一個py文件如下

# config.py

import argparse

parser = argparse.ArgumentParser()
arg_list = []

def get_config():
    config, unparsed = parser.parse_known_args()
    return config, unparsed

另一個py文件如下

# gcrn_main.py
import numpy as np
from gconvRNN.config import get_config

if __name__ == "__main__":
    config, unparsed = get_config()

他們的執行順序是這樣的:

運行 gcrn_main.py
執行 import numpy as np
執行 from gconvRNN.config import get_config

跳轉到 config.py

執行 import argparse
執行 parser = argparse.ArgumentParser()
執行 arg_list = []

然后運行到
def get_config()
這一行
跳轉回 gcrn_main.py

執行 if
執行 get_config

跳轉到 config.py

執行 get_config()

并且!

config.py 里面的全局變量parser是一直存在的!可以被get_config()調用的!

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容