codecamp

Python 主程序入口规范 | Google 官方 main() 写法

主程序

Tip
使用 Python 时,提供给 pydoc 和单元测试的模块必须是可导入的。如果一个文件是可执行文件,该文件的主要功能应该位于 main() 函数中。你的代码必须在执行主程序前检查 if __name__ == '__main__',这样导入模块时不会执行主程序。

使用 absl 时, 请调用 app.run

from absl import app
...


def main(argv):
    # 处理非标志 (non-flag) 参数
    ...


if __name__ == '__main__':
    app.run(main)

否则,使用:

def main():
    ...


if __name__ == '__main__':
    main()

导入模块时会执行该模块的所有顶级代码。注意顶级代码中不能有 pydoc 不该执行的操作,比如调用函数,创建对象等。

Python 命名规范大全 | Google 官方 PEP-8 速查表
Python 函数长度规范 | Google 官方 40 行准则
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }