python程序运行启动代码
常规程序启动入口
__name__
启动程序
1 | if __name__ = '__main__' : |
代码逐行解释
if __name__ == '__main__':
__name__
变量:在 Python 中,每个模块(即
.py
文件)都有一个内置的__name__
变量。这个变量的值取决于模块是如何被使用的。- 当一个 Python 脚本作为主程序直接运行时,例如在命令行中使用
python script.py
来执行脚本,该脚本的__name__
变量会被自动设置为'__main__'
。 - 当一个 Python 脚本作为模块被其他脚本导入时,例如在
another_script.py
中使用import script
,那么script.py
模块的__name__
变量会被设置为该模块的名称(即'script'
)。
- 当一个 Python 脚本作为主程序直接运行时,例如在命令行中使用
条件判断:
if __name__ == '__main__':
这行代码的作用是检查当前脚本是否作为主程序直接运行。如果是,则执行下面缩进的代码块;如果脚本是作为模块被导入到其他脚本中,则不会执行该代码块。这种机制允许我们在一个脚本中既定义可复用的函数和类,又可以包含用于测试或直接执行的代码,同时避免在被导入时执行这些测试代码。
data: dict = load_toml()
- 类型注解:
data: dict
是 Python 的类型注解,它告诉开发者(以及一些静态类型检查工具,如mypy
)变量data
预期的类型是字典(dict
)。类型注解不会影响代码的实际运行,但可以提高代码的可读性和可维护性。 - 函数调用:
load_toml()
是之前定义的函数,用于读取并解析config.toml
文件。调用该函数会返回一个包含解析后 TOML 数据的字典,这个字典会被赋值给变量data
。
pprint(data, sort_dicts=False)
pprint
函数:pprint
是 Python 标准库pprint
模块中的一个函数,用于以美观的格式打印复杂的数据结构,如嵌套的字典和列表。相比于普通的print
函数,pprint
会对数据进行格式化,使其更易于阅读。sort_dicts=False
参数:在 Python 3.8 及以上版本中,pprint
函数默认会对字典的键进行排序后再打印。通过设置sort_dicts=False
,我们告诉pprint
函数不要对字典的键进行排序,**(其实就是对字典的键按照字母顺序排序)**而是按照字典中键的原始顺序进行打印。这样可以保留 TOML 文件中键值对的原始顺序。即没有用字母顺序排序。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Dedsec的博客!