在Python中定义Main函数( 四 )


您可以根据自己的情况选择是否使用此方案 。将任务拆分为多个函数会使重用更容易,但会增加他人理解代码的难度 。
【在Python中定义Main函数】修改best_practices.py文件如下所示:

在Python中定义Main函数

文章插图
 
在此示例代码中,文件的前10行具有与之前相同的内容 。第12行的第二个函数创建并返回一些示例数据,第17行的第三个函数模拟将修改后的数据写入数据库 。
第21行定义了main()函数 。在此示例中,对main()做出修改,它将调用数据读取,数据处理以及数据写入等功能 。
首先,从read_data_from_web()中创建data 。将data作为参数传入process_data(),之后将返回modified_data 。最后,将modified_data传入write_data_to_database() 。
脚本的最后两行是条件语块用于验证__name__,并且如果if语句为True,则执行main() 。
在命令行中运行如下所示:
在Python中定义Main函数

文章插图
 
根据执行结果,Python解释器在执行main()函数时,将依次执行read_data_from_web(),process_data()以及write_data_to_database() 。当然,您也可以导入best_practices.py文件并重用process_data()作为不同的数据输入源,如下所示:
在Python中定义Main函数

文章插图
 
在此示例中,导入了best_practices并且将其简写为bp 。
导入过程会导致Python解释器执行best_practices.py的全部代码,因此输出显示解释文件用途的信息 。
然后,从文件中存储数据而不是从Web中读取数据 。之后,可以重用best_practices.py文件中的process_data()和write_data_to_database()函数 。在此情况下,可以利用代码重写来取代在main()函数中实现全部的代码逻辑 。
实践总结
以下是Python中main()函数的四个关键最佳实践:
  1. 将计算时间过长或对计算机产生其他影响的代码写入函数或类,这样可以精确地控制代码的运行时间 。
  2. 使用不同的__name__值来确定上下文并使用条件语句更改代码的行为 。
  3. 将入口点函数命名为main(),以便传达函数的意图,即使Python对名为main()的函数并没有赋予特殊的含义 。
  4. 如果想代码重用,请在main()外定义函数,并在main()中对其进行调用 。
结论
恭喜!您现在已经了解如何创建Python main()函数了 。
本文介绍了如下内容:
  • 了解__name__变量的值对于编写用于可执行脚本和导入模块的双重用途的代码的重要性 。
  • 根据执行Python文件的方式,__name__具有不同的值 。__name__的取值有以下几种情况:
  • 当从命令行执行文件或用python -m(执行某个包的__main__.py文件)时,值为"__main__" 。
  • 如果作为模块被导入时,值为模块的名称 。
  • 对于开发可重用的代码,Python程序员已经提供了一套良好的方案 。
现在,您可以开始编写一些非常棒的关于Python main()函数代码啦!




推荐阅读