使用Template格式化Python字符串的方法

yipeiwu_com5年前Python基础

对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中常用操作字符串的函数与方法总结

例如这样一个字符串 Python,它就是几个字符:P,y,t,h,o,n,排列起来。这种排列是非常严格的,不仅仅是字符本身,而且还有顺序,换言之,如果某个字符换了,就编程一个新字符串了;...

python调用自定义函数的实例操作

python调用自定义函数的实例操作

在python中,想要调用自定义函数必须先声明,然后才能调用。使用函数时,只要按照函数定义的形式,向函数传递必需的参数,就可以调用函数完成相应的功能或者获得函数返回的处理结果。 (1)声...

使用python实现拉钩网上的FizzBuzzWhizz问题示例

最近好多分享这个问题的代码,题目说的是用面向对象或者函数式编程,下面是PYTHON的实现示例 复制代码 代码如下:#!/usr/bin/python#encoding:utf8 '''T...

利用python打开摄像头及颜色检测方法

最近两周由于忙于个人项目,一直未发言了,实在是太荒凉了。。。。,上周由于项目,见到Python的应用极为广泛,用起来也特别顺手,于是小编也开始着手学习Python,…下面我就汇报下今天的...

python 3利用Dlib 19.7实现摄像头人脸检测特征点标定

python 3利用Dlib 19.7实现摄像头人脸检测特征点标定

Python 3 利用 Dlib 19.7 实现摄像头人脸检测特征点标定 0.引言 利用python开发,借助Dlib库捕获摄像头中的人脸,进行实时特征点标定; 图1 工程效果示例(...