网络编程
位置:首页>> 网络编程>> Python编程>> 使用Template格式化Python字符串的方法

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

作者:BlackMatrix  发布时间:2021-08-07 14:42:35 

标签:Template,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!

来源:https://www.cnblogs.com/blackmatrix/p/8196527.html

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com