Python使用string.Formatter()制作打印模板

工作时,会希望使用统一的打印模板来处理散落在各处的打印需求,尤其是在记录日志时,如果直接使用print函数,那么代码会显得尤其繁琐。这时,比较好的做法是编写一个函数来进行封装。而Python的string.Formatter类提供了字符串格式化功能。制作字符串模板后,通过调用format(value[, format_spec])方法,就可以依照模板生成一个格式化的字符串,而这个字符串再结合print等函数,可以在很多地方得到应用。

下面看一个示例:

import datetime

# 设计字符串模板
template = ('\nDate: "{}", Temperature: {:.1f}, Condition: "{}"')

# 根据字符串模板生成字符串
log = template.format(datetime.datetime.now(), 23.17, 'good')

# 打印格式化后的字符串
print(log)

简单的三个步骤完成任务:

  1. 根据实际需求设计一个字符串模板,也就是代码中的template,其中,{}是占位符,在占位符里可以引入各种格式化选项,如1f等等。
  2. 在系统运行过程中,将实时数据按模板指定的格式组合成新的字符串。
  3. 应用该字符串,例如使用print函数进行打印。

通过上述简单的过程,便可以优雅地完成格式化字符串的功能,并和其应用过程(例如print)进行解耦。

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

推荐阅读更多精彩内容