使用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 字符串大小写转换的简单实例
Jan 21 Python
使用Python进行AES加密和解密的示例代码
Feb 02 Python
pandas全表查询定位某个值所在行列的方法
Apr 12 Python
Python3.5 创建文件的简单实例
Apr 26 Python
python3实现钉钉消息推送的方法示例
Mar 14 Python
三步实现Django Paginator分页的方法
Jun 11 Python
使用python搭建服务器并实现Android端与之通信的方法
Jun 28 Python
python循环定时中断执行某一段程序的实例
Jun 29 Python
ERLANG和PYTHON互通实现过程详解
Jul 05 Python
python用for循环求和的方法总结
Jul 08 Python
python GUI编程(Tkinter) 创建子窗口及在窗口上用图片绘图实例
Mar 04 Python
Selenium python时间控件输入问题解决方案
Jul 22 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默认安装产生系统漏洞
2006/10/09 PHP
ThinkPHP中关联查询实例
2014/12/02 PHP
PHP设置Cookie的HTTPONLY属性方法
2017/02/09 PHP
浅析PHP中的闭包和匿名函数
2017/12/25 PHP
基于jquery的下拉框改变动态添加和删除表格实现代码
2020/09/12 Javascript
jQuery prev ~ siblings选择器使用介绍
2013/08/09 Javascript
查找iframe里元素的方法可传参
2013/09/11 Javascript
jQuery中:not选择器用法实例
2014/12/30 Javascript
javascript中的正则表达式使用指南
2015/03/01 Javascript
js实现下拉列表选中某个值的方法(3种方法)
2015/12/17 Javascript
Bootstrap实现响应式导航栏效果
2015/12/28 Javascript
JavaScript BASE64算法实现(完美解决中文乱码)
2017/01/10 Javascript
教你5分钟学会用requirejs(必看篇)
2017/07/25 Javascript
easyui-datagrid开发实践(总结)
2017/08/02 Javascript
Angular使用cli生成自定义文件、组件的方法
2018/09/04 Javascript
JS数组Object.keys()方法的使用示例
2019/06/05 Javascript
vue.js中使用微信扫一扫解决invalid signature问题(完美解决)
2020/04/11 Javascript
Node.js API详解之 vm模块用法实例分析
2020/05/27 Javascript
vue实例的选项总结
2020/06/09 Javascript
Vue 禁用浏览器的前进后退操作
2020/09/04 Javascript
python数组过滤实现方法
2015/07/27 Python
python3 unicode列表转换为中文的实例
2018/10/26 Python
Python实现将HTML转成PDF的方法分析
2019/05/04 Python
浅析python标准库中的glob
2020/03/13 Python
Python实现RabbitMQ6种消息模型的示例代码
2020/03/30 Python
解决windows上安装tensorflow时报错,“DLL load failed: 找不到指定的模块”的问题
2020/05/20 Python
python:HDF和CSV存储优劣对比分析
2020/06/08 Python
基于Python实现简单学生管理系统
2020/07/24 Python
python关于倒排列的知识点总结
2020/10/13 Python
类的核心特性有哪些
2014/01/01 面试题
swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
2013/03/30 面试题
产品生产计划书
2014/05/07 职场文书
公证委托书格式
2014/09/13 职场文书
学校副校长四风对照检查材料整改措施
2014/09/25 职场文书
李清照的诗词赏析(20首)
2019/08/22 职场文书
详解CSS中postion和opacity及cursor的特性
2022/08/14 HTML / CSS