使用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实现简单字典树的方法
Apr 29 Python
解决Python requests 报错方法集锦
Mar 19 Python
Django中针对基于类的视图添加csrf_exempt实例代码
Feb 11 Python
Python实现的维尼吉亚密码算法示例
Apr 12 Python
Python下使用Scrapy爬取网页内容的实例
May 21 Python
Sanic框架请求与响应实例分析
Jul 16 Python
python 将print输出的内容保存到txt文件中
Jul 17 Python
关于tf.nn.dynamic_rnn返回值详解
Jan 20 Python
tensorflow 初始化未初始化的变量实例
Feb 06 Python
Python 实现PS滤镜中的径向模糊特效
Dec 03 Python
matplotlib源码解析标题实现(窗口标题,标题,子图标题不同之间的差异)
Feb 22 Python
Qt自定义Plot实现曲线绘制的详细过程
Nov 02 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模板引擎SMARTY
2006/10/09 PHP
example1.php
2006/10/09 PHP
php Ajax乱码
2008/04/09 PHP
5种PHP创建数组的实例代码分享
2014/01/17 PHP
PHP中使用php://input处理相同name值的表单数据
2015/02/03 PHP
php多文件打包下载的实例代码
2017/07/12 PHP
JS event使用方法详解
2008/04/28 Javascript
JavaScript 设计模式之组合模式解析
2010/04/09 Javascript
jQuery验证Checkbox是否选中的代码 推荐
2011/09/04 Javascript
jquery遍历之parent()和parents()的区别及parentsUntil()方法详解
2013/12/02 Javascript
JavaScript字符串对象replace方法实例(用于字符串替换或正则替换)
2014/10/16 Javascript
javascript字符串与数组转换汇总
2015/05/26 Javascript
Javascript中的Prototype到底是什么
2016/02/16 Javascript
JS模态窗口返回值兼容问题的完美解决方法
2016/05/28 Javascript
玩转NODE.JS(四)-搭建简单的聊天室的代码
2016/11/11 Javascript
Bootstrap导航条鼠标悬停下拉菜单
2017/01/04 Javascript
简单实现IONIC购物车功能
2017/01/10 Javascript
基于JavaScript实现类名的添加与移除
2017/04/23 Javascript
jQuery模拟实现天猫购物车动画效果实例代码
2017/05/25 jQuery
微信小程序利用for循环解决内容变更问题
2020/03/05 Javascript
Python基础学习之类与实例基本用法与注意事项详解
2019/06/17 Python
Python实现一个带权无回置随机抽选函数的方法
2019/07/24 Python
Django通用类视图实现忘记密码重置密码功能示例
2019/12/17 Python
pytorch之ImageFolder使用详解
2020/01/06 Python
Django实现后台上传并显示图片功能
2020/05/29 Python
python 通过pip freeze、dowload打离线包及自动安装的过程详解(适用于保密的离线环境
2020/12/14 Python
波兰购物网站:MALL.PL
2019/05/01 全球购物
澳大利亚最大的护发和护肤品购物网站:RY
2019/12/26 全球购物
枚举与#define宏的区别
2014/04/30 面试题
院药学专业个人求职信
2013/09/21 职场文书
服装公司总经理岗位职责
2013/11/30 职场文书
起诉书范文
2015/05/20 职场文书
2015年国庆节演讲稿范文
2015/07/30 职场文书
《女娲补天》读后感5篇
2019/12/31 职场文书
使用nginx动态转换图片大小生成缩略图
2021/03/31 Servers
Python学习之异常中的finally使用详解
2022/03/16 Python