使用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 25 Python
Python判断变量是否已经定义的方法
Aug 18 Python
itchat和matplotlib的结合使用爬取微信信息的实例
Aug 25 Python
11月编程语言排行榜 Python逆袭C#上升到第4
Nov 15 Python
为什么选择python编程语言入门黑客攻防 给你几个理由!
Feb 02 Python
python指定写入文件时的编码格式方法
Jun 07 Python
Python实现端口检测的方法
Jul 24 Python
python selenium爬取斗鱼所有直播房间信息过程详解
Aug 09 Python
django框架中ajax的使用及避开CSRF 验证的方式详解
Dec 11 Python
Python动态强类型解释型语言原理解析
Mar 25 Python
Python爬虫入门有哪些基础知识点
Jun 02 Python
django 装饰器 检测登录状态操作
Jul 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
yii实现图片上传及缩略图生成的方法
2014/12/04 PHP
php post大量数据时发现数据丢失问题解决方法
2015/06/20 PHP
Yii实现显示静态页的方法
2016/04/25 PHP
Laravel 5.4向IoC容器中添加自定义类的方法示例
2017/08/15 PHP
总结PHP代码规范、流程规范、git规范
2018/06/18 PHP
Gird事件机制初级读本
2007/03/10 Javascript
Google (Local) Search API的简单使用介绍
2013/11/28 Javascript
jquery插件jquery倒计时插件分享
2013/12/27 Javascript
深入探究JavaScript中for循环的效率问题及相关优化
2016/03/13 Javascript
jquery使用on绑定a标签无效 只能用live解决
2016/06/02 Javascript
JavaScript实现通过select标签跳转网页的方法
2016/09/29 Javascript
Node.js使用Express创建Web项目详细教程
2017/03/31 Javascript
基于Vue的ajax公共方法(详解)
2018/01/20 Javascript
微信小程序实现多选框全选与反全选及购物车中删除选中的商品功能
2019/12/17 Javascript
解决vue的router组件component在import时不能使用变量问题
2020/07/26 Javascript
JS数组转字符串实现方法解析
2020/09/04 Javascript
Openlayers显示地理位置坐标的方法
2020/09/28 Javascript
[02:42]岂曰无衣,与子同袍!DOTA2致敬每一位守护人
2020/02/17 DOTA
Python装饰器使用示例及实际应用例子
2015/03/06 Python
python正则表达式之作业计算器
2016/03/18 Python
详解python的数字类型变量与其方法
2016/11/20 Python
在Pycharm中设置默认自动换行的方法
2019/01/16 Python
Win10下Python3.7.3安装教程图解
2019/07/08 Python
python中seaborn包常用图形使用详解
2019/11/25 Python
HTML5应用之文件上传
2016/12/30 HTML / CSS
CHARLES & KEITH澳大利亚官网:新加坡时尚品牌
2019/01/22 全球购物
卫校中专生个人自我评价
2013/09/19 职场文书
幸福家庭事迹材料
2014/02/03 职场文书
工地安全质量标语
2014/06/07 职场文书
原料仓仓管员岗位职责
2014/07/08 职场文书
开展党的群众路线教育实践活动工作总结
2014/11/05 职场文书
病假证明模板
2015/06/19 职场文书
读完《骆驼祥子》的观后感!
2019/07/05 职场文书
html实现弹窗的实例
2021/06/09 HTML / CSS
ElementUI实现el-form表单重置功能按钮
2021/07/21 Javascript
CentOS7和8下安装Maven3.8.4
2022/04/07 Servers