使用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  连接字符串(join %)
Sep 06 Python
Python 开发Activex组件方法
Nov 08 Python
深入理解Python中的元类(metaclass)
Feb 14 Python
Python使用selenium实现网页用户名 密码 验证码自动登录功能
May 16 Python
Python基于jieba库进行简单分词及词云功能实现方法
Jun 16 Python
在Python中使用gRPC的方法示例
Aug 08 Python
TensorFlow实现模型评估
Sep 07 Python
python 将对象设置为可迭代的两种实现方法
Jan 21 Python
python中break、continue 、exit() 、pass终止循环的区别详解
Jul 08 Python
如何在python中实现随机选择
Nov 02 Python
使用opencv中匹配点对的坐标提取方式
Jun 04 Python
Python sorted对list和dict排序
Jun 09 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命令行用法入门实例教程
2014/10/27 PHP
php页面函数设置超时限制的方法
2014/12/01 PHP
PHP 二级子目录(后台目录)设置二级域名
2017/03/02 PHP
Javascript在IE或Firefox下获取鼠标位置的代码
2009/12/18 Javascript
面向对象继承实例(a如何继承b问题)(自写)
2013/07/01 Javascript
从数据结构的角度分析 for each in 比 for in 快的多
2013/07/07 Javascript
Jquery的hide及toggle方法让超链接慢慢消失
2013/09/06 Javascript
JavaScript实现数字数组按照倒序排列的方法
2015/04/06 Javascript
浅谈javascript事件取消和阻止冒泡
2015/05/26 Javascript
input点击后placeholder中的提示消息消失
2016/01/15 Javascript
基于node实现websocket协议
2016/04/25 Javascript
jQuery控制控件文本的长度的操作方法
2016/12/05 Javascript
微信公众号 摇一摇周边功能开发
2016/12/08 Javascript
基于Jquery Ajax type的4种类型(详解)
2017/08/02 jQuery
详解javascript中的变量提升和函数提升
2018/05/24 Javascript
react配置antd按需加载的使用
2019/02/11 Javascript
javascript判断一个变量是数组还是对象
2019/04/10 Javascript
Vue 使用Props属性实现父子组件的动态传值详解
2019/11/13 Javascript
JS async 函数的含义和用法实例总结
2020/04/08 Javascript
实例讲解React 组件
2020/07/07 Javascript
[01:52]2020年DOTA2 TI10夏季活动预告片
2020/07/15 DOTA
关于python pyqt5安装失败问题的解决方法
2017/08/08 Python
Python实现改变与矩形橡胶的线条的颜色代码示例
2018/01/05 Python
python3.6使用pymysql连接Mysql数据库
2018/05/25 Python
python3实现语音转文字(语音识别)和文字转语音(语音合成)
2020/10/14 Python
AmazeUI 评论列表的实现示例
2020/08/13 HTML / CSS
英国最大的百货公司:Harrods
2016/08/18 全球购物
美国女士内衣在线折扣商店:One Hanes Place
2019/03/24 全球购物
当我正在为表建立索引的时候,SQL Server 会禁止对表的访问吗
2014/04/28 面试题
幼儿园小班植树节活动方案
2014/03/04 职场文书
公司节能减排倡议书
2014/05/14 职场文书
委托书格式范文
2015/01/28 职场文书
小学生交通安全寄语
2015/02/27 职场文书
开会通知短信大全
2015/04/20 职场文书
青年教师听课心得体会
2016/01/15 职场文书
python 学习GCN图卷积神经网络
2022/05/11 Python