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()调用的!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容