使用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 相关文章推荐
使用scrapy实现爬网站例子和实现网络爬虫(蜘蛛)的步骤
Jan 23 Python
Python的自动化部署模块Fabric的安装及使用指南
Jan 19 Python
Python的装饰器用法学习笔记
Jun 24 Python
利用Python爬取可用的代理IP
Aug 18 Python
Python基于分水岭算法解决走迷宫游戏示例
Sep 26 Python
简单了解Django模板的使用
Dec 20 Python
Django 根据数据模型models创建数据表的实例
May 27 Python
Caffe均值文件mean.binaryproto转mean.npy的方法
Jul 09 Python
Python实现二叉树前序、中序、后序及层次遍历示例代码
May 18 Python
python中struct模块之字节型数据的处理方法
Aug 27 Python
详解Django admin高级用法
Nov 06 Python
django连接mysql数据库及建表操作实例详解
Dec 10 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批量删除数据
2007/01/18 PHP
php正则preg_replace_callback函数用法实例
2015/06/01 PHP
php使用PDO下exec()函数查询执行后受影响行数的方法
2017/03/28 PHP
php项目中类的自动加载实例讲解
2019/09/12 PHP
Web Inspector:关于在 Sublime Text 中调试Js的介绍
2013/04/18 Javascript
Jquery注册事件实现方法
2015/05/18 Javascript
学习JavaScript设计模式之单例模式
2016/01/19 Javascript
javascript DIV实现跟随鼠标移动
2020/03/19 Javascript
微信小程序 生命周期和页面的生命周期详细介绍
2017/01/19 Javascript
bootstrap中的 form表单属性role="form"的作用详解
2017/01/20 Javascript
js a标签点击事件
2017/03/30 Javascript
webpack写jquery插件的环境配置
2017/12/21 jQuery
Javascript中prototype与__proto__的关系详解
2018/03/11 Javascript
Vue2.0点击切换类名改变样式的方法
2018/08/22 Javascript
angularJs中ng-model-options设置数据同步的方法
2018/09/30 Javascript
React 源码中的依赖注入方法
2018/11/07 Javascript
小程序从手动埋点到自动埋点的实现方法
2019/01/24 Javascript
Vue 使用计时器实现跑马灯效果的实例代码
2019/07/11 Javascript
Vue 利用指令实现禁止反复发送请求的两种方法
2019/09/15 Javascript
extjs图形绘制之饼图实现方法分析
2020/03/06 Javascript
解决vue.js中settimeout遇到的问题(时间参数短效果不稳定)
2020/07/21 Javascript
vue-cli3访问public文件夹静态资源报错的解决方式
2020/09/02 Javascript
python计算一个序列的平均值的方法
2015/07/11 Python
Python双精度浮点数运算并分行显示操作示例
2017/07/21 Python
对python中dict和json的区别详解
2018/12/18 Python
Django 数据库同步操作技巧详解
2019/07/19 Python
Python面向对象多态实现原理及代码实例
2020/09/16 Python
python绘图pyecharts+pandas的使用详解
2020/12/13 Python
HTML5 Blob对象的具体使用
2020/05/22 HTML / CSS
Lookfantastic意大利官网:英国知名美妆购物网站
2019/05/31 全球购物
高中生学习生活的自我评价
2013/10/09 职场文书
英文求职信结束语大全
2013/10/26 职场文书
《画家乡》教学反思
2014/04/22 职场文书
端午节演讲稿
2014/05/23 职场文书
生产车间标语
2014/06/11 职场文书
公务员政审个人总结
2015/02/12 职场文书