使用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网页解析利器BeautifulSoup安装使用介绍
Mar 17 Python
python实现烟花小程序
Jan 30 Python
使用python itchat包爬取微信好友头像形成矩形头像集的方法
Feb 21 Python
使用Python画股票的K线图的方法步骤
Jun 28 Python
python腾讯语音合成实现过程解析
Aug 01 Python
Flask框架学习笔记之消息提示与异常处理操作详解
Aug 15 Python
PyQt5+Caffe+Opencv搭建人脸识别登录界面
Aug 28 Python
keras小技巧——获取某一个网络层的输出方式
May 23 Python
Django Session和Cookie分别实现记住用户登录状态操作
Jul 02 Python
python如何代码集体右移
Jul 20 Python
实例代码讲解Python 线程池
Aug 24 Python
Python合并多张图片成PDF
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
smarty实例教程
2006/11/19 PHP
php知道与问问的采集插件代码
2010/10/12 PHP
详解PHP的Yii框架中扩展的安装与使用
2016/04/01 PHP
Thinkphp实现短信验证注册功能
2016/10/18 PHP
PHP7 mongoDB扩展使用的方法分享
2019/05/02 PHP
js弹出层包含flash 不能关闭隐藏的2种处理方法
2013/06/17 Javascript
JS网页播放声音实现代码兼容各种浏览器
2013/09/22 Javascript
jquery 快速回到页首的方法
2013/12/05 Javascript
JS中操作JSON总结
2020/12/06 Javascript
基于Css3和JQuery实现打字机效果
2015/08/11 Javascript
Nodejs从有门道无门菜鸟起飞必看教程
2016/07/20 NodeJs
AngularJS基础 ng-copy 指令实例代码
2016/08/01 Javascript
jquery获取下拉框中的循环值
2017/02/08 Javascript
JS实现横向轮播图(初级版)
2020/06/24 Javascript
[49:02]KG vs Infamous 2019国际邀请赛淘汰赛 败者组BO1 8.20.mp4
2020/07/19 DOTA
Windows系统下使用flup搭建Nginx和Python环境的方法
2015/12/25 Python
Python入门教程之运算符与控制流
2016/08/17 Python
python 重定向获取真实url的方法
2018/05/11 Python
解决PyCharm控制台输出乱码的问题
2019/01/16 Python
Python对象的属性访问过程详解
2020/03/05 Python
python将dict中的unicode打印成中文实例
2020/05/11 Python
Python判断变量是否是None写法代码实例
2020/10/09 Python
python3实现语音转文字(语音识别)和文字转语音(语音合成)
2020/10/14 Python
python gui开发——制作抖音无水印视频下载工具(附源码)
2021/02/07 Python
html5 利用canvas实现超级玛丽简单动画
2013/09/06 HTML / CSS
HTML5表单验证特性(知识点小结)
2020/03/10 HTML / CSS
Vilebrequin欧洲官网:法国豪华泳装品牌(男士沙滩裤)
2018/04/14 全球购物
编写用C语言实现的求n阶阶乘问题的递归算法
2014/10/21 面试题
某科技软件测试面试题
2013/05/19 面试题
写一个函数,要求输入一个字符串和一个字符长度,对该字符串进行分隔
2015/07/30 面试题
三年级小学生评语
2014/04/22 职场文书
活动总结格式范文
2014/04/26 职场文书
网络技术专业求职信
2014/07/13 职场文书
一个都不能少观后感
2015/06/04 职场文书
php 文件上传至OSS及删除远程阿里云OSS文件
2021/07/04 PHP
MySQL创建表操作命令分享
2022/03/25 MySQL