使用Template格式化Python字符串的方法


Posted in Python onJanuary 22, 2019

对Python字符串,除了比较老旧的%,以及用来替换掉%的format,及在python 3.6中加入的f这三种格式化方法以外,还有可以使用Template对象来进行格式化。

from string import Template,可以导入Template类。

实例化Template类需要传入一个Template模板字符串。

class Template(metaclass=_TemplateMetaclass):
  """A string class for supporting $-substitutions."""

  delimiter = '$'
  idpattern = r'[_a-z][_a-z0-9]*'
  flags = _re.IGNORECASE

  def __init__(self, template):
    self.template = template

字符串默认以%作为定界符

# 默认的定界符是$,即会将$之后内容匹配的字符串进行替换
s = Template('hello, $world!')
print(s.substitute(world='python'))
# hello, python!

实例化Template之后,返回对象s,调用对象s的substitute,传入替换的数据,最终返回替换之后的结果。

如果需要对定界符进行修改,可以创建一个Template的子类,在子类中覆盖掉Template的类属性delimiter,赋值为需要重新设定的定界符。

# 可以通过继承Template类的方式进行替换
class CustomerTemplate(Template):
  delimiter = '*'

t = CustomerTemplate('hello, *world!')
print(t.substitute(world='python'))
# hello, python!

上面的例子中,输出和未修改定界符之前是一样的,都是hello, python!

以上这篇使用Template格式化Python字符串的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python基础教程之tcp socket编程详解及简单实例
Feb 23 Python
python处理Excel xlrd的简单使用
Sep 12 Python
利用python实现简单的邮件发送客户端示例
Dec 23 Python
python xlsxwriter库生成图表的应用示例
Mar 16 Python
python和opencv实现抠图
Jul 18 Python
transform python环境快速配置方法
Sep 27 Python
python 反编译exe文件为py文件的实例代码
Jun 27 Python
Python:二维列表下标互换方式(矩阵转置)
Dec 02 Python
Python关于__name__属性的含义和作用详解
Feb 19 Python
python os模块常用的29种方法使用详解
Jun 02 Python
python通配符之glob模块的使用详解
Apr 24 Python
8g内存用python读取10文件_面试题-python 如何读取一个大于 10G 的txt文件?
May 28 Python
python实现公司年会抽奖程序
Jan 22 #Python
对python函数签名的方法详解
Jan 22 #Python
python实现大转盘抽奖效果
Jan 22 #Python
Python函数返回不定数量的值方法
Jan 22 #Python
python实现转盘效果 python实现轮盘抽奖游戏
Jan 22 #Python
Python Pillow Image Invert
Jan 22 #Python
python 通过类中一个方法获取另一个方法变量的实例
Jan 22 #Python
You might like
php mssql扩展SQL查询中文字段名解决方法
2012/10/15 PHP
解析CI即CodeIgniter框架在Nginx下的重写规则
2013/06/03 PHP
php版本的cron定时任务执行器使用实例
2014/08/19 PHP
jquery遍历input取得input的name
2009/04/27 Javascript
前端开发的开始---基于面向对象的Ajax类
2010/09/17 Javascript
JavaScript?Apple设备检测示例代码
2013/11/15 Javascript
js形成页面的一种遮罩效果实例代码
2014/01/04 Javascript
javascript正则表达式参数/g与/i及/gi的使用指南
2014/08/27 Javascript
js+CSS实现弹出居中背景半透明div层的方法
2015/02/26 Javascript
Bootstrap3.0建站教程(一)之bootstrap表单元素排版
2016/06/01 Javascript
webuploader模态框ueditor显示问题解决方法
2016/12/27 Javascript
jQuery实现淡入淡出的模态框
2017/02/09 Javascript
Vue项目中使用better-scroll实现一个轮播图自动播放功能
2018/12/03 Javascript
layui 上传插件 带预览 非自动上传功能的实例(非常实用)
2019/09/23 Javascript
JQuery实现ul中添加LI和删除指定的Li元素功能完整示例
2019/10/16 jQuery
Vue双向绑定实现原理与方法详解
2020/05/07 Javascript
[01:08:32]DOTA2-DPC中国联赛 正赛 DLG vs PHOENIX BO3 第二场 1月18日
2021/03/11 DOTA
python中requests和https使用简单示例
2018/01/18 Python
python画图系列之个性化显示x轴区段文字的实例
2018/12/13 Python
详解Numpy数组转置的三种方法T、transpose、swapaxes
2019/05/27 Python
详解Python中正则匹配TAB及空格的小技巧
2019/07/26 Python
利用pyecharts实现地图可视化的例子
2019/08/12 Python
python mock测试的示例
2020/10/19 Python
Canvas 文本转粒子效果的实现代码
2019/02/14 HTML / CSS
ALLSAINTS英国官网:伦敦新锐潮流品牌
2016/09/19 全球购物
葡萄牙鞋子品牌:Fair
2016/12/10 全球购物
大学辅导员事迹材料
2014/02/05 职场文书
求职信模板
2014/05/23 职场文书
2014年司机工作总结
2014/11/21 职场文书
升职自我推荐信范文
2015/03/25 职场文书
2015年第十五个全民国防教育日宣传活动方案
2015/05/06 职场文书
初中班主任工作总结2015
2015/05/13 职场文书
创业计划书之游泳馆
2019/09/16 职场文书
Python源码解析之List
2021/05/21 Python
Oracle11g r2 卸载干净重装的详细教程(亲测有效已重装过)
2021/06/04 Oracle
【2·13】一图读懂中国无线电发展
2022/02/18 无线电