使用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 相关文章推荐
在Django的模板中使用认证数据的方法
Jul 23 Python
python UNIX_TIMESTAMP时间处理方法分析
Apr 18 Python
Python中__init__.py文件的作用详解
Sep 18 Python
Python实现的根据IP地址计算子网掩码位数功能示例
May 23 Python
python ddt数据驱动最简实例代码
Feb 22 Python
python scatter散点图用循环分类法加图例
Mar 19 Python
Django中多种重定向方法使用详解
Jul 17 Python
对django后台admin下拉框进行过滤的实例
Jul 26 Python
Numpy中对向量、矩阵的使用详解
Oct 29 Python
Python爬取腾讯视频评论的思路详解
Dec 19 Python
python selenium自动化测试框架搭建的方法步骤
Jun 14 Python
Python爬取微信小程序通用方法代码实例详解
Sep 29 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
一个查看session内容的函数
2006/10/09 PHP
ThinkPHP模板Volist标签嵌套循环输出多维数组的方法
2016/03/23 PHP
PHP安装memcache扩展的步骤讲解
2019/02/14 PHP
YII框架行为behaviors用法示例
2019/04/26 PHP
javascript new fun的执行过程
2010/08/05 Javascript
jQuery Mobile页面跳转后未加载外部JS原因分析及解决
2013/03/18 Javascript
当达到输入长度时表单自动切换焦点
2014/04/06 Javascript
JavaScript中this关键词的使用技巧、工作原理以及注意事项
2014/05/20 Javascript
详解AngularJS中的表格使用
2015/06/16 Javascript
js代码验证手机号码和电话号码是否合法
2015/07/30 Javascript
JavaScript数组各种常见用法实例分析
2015/08/04 Javascript
jQuery Ajax 实现在html页面实时显示用户登录状态
2016/12/30 Javascript
vuejs2.0子组件改变父组件的数据实例
2017/05/10 Javascript
js评分组件使用详解
2017/06/06 Javascript
nodejs async异步常用函数总结(推荐)
2017/11/17 NodeJs
Vue2.5 结合 Element UI 之 Table 和 Pagination 组件实现分页功能
2018/01/26 Javascript
p5.js实现动态图形临摹
2019/10/23 Javascript
javascript实现简易数码时钟
2020/03/30 Javascript
举例区分Python中的浅复制与深复制
2015/07/02 Python
Python简单计算数组元素平均值的方法示例
2017/12/26 Python
Python实现PS滤镜中马赛克效果示例
2018/01/20 Python
基于Python中numpy数组的合并实例讲解
2018/04/04 Python
python list元素为tuple时的排序方法
2018/04/18 Python
六行python代码的爱心曲线详解
2019/05/17 Python
Python实现语音识别和语音合成功能
2019/09/20 Python
Python交互环境下打印和输入函数的实例内容
2020/02/16 Python
Python: tkinter窗口屏幕居中,设置窗口最大,最小尺寸实例
2020/03/04 Python
属性与 @property 方法让你的python更高效
2020/09/21 Python
IE浏览器单独写CSS样式的几种方法
2014/10/14 HTML / CSS
澳大利亚著名的纺织品品牌:Canningvale
2020/05/05 全球购物
Java方面的关于数组和继承的笔面试题
2015/09/18 面试题
财务部副经理岗位职责范本
2014/06/17 职场文书
入伍志愿书怎么写?
2019/07/19 职场文书
使用Ajax实现无刷新上传文件
2022/04/12 Javascript
Golang实现可重入锁的示例代码
2022/05/25 Golang
win10电脑老是死机怎么办?win10系统老是死机的解决方法
2022/08/05 数码科技