使用Template格式化Python字符串的方法
对Python字符串,除了比较老旧的%,以及用来替换掉%的format,及在python3.6中加入的f这三种格式化方法以外,还有可以使用Template对象来进行格式化。
fromstringimportTemplate,可以导入Template类。
实例化Template类需要传入一个Template模板字符串。
classTemplate(metaclass=_TemplateMetaclass): """Astringclassforsupporting$-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类的方式进行替换 classCustomerTemplate(Template): delimiter='*' t=CustomerTemplate('hello,*world!') print(t.substitute(world='python')) #hello,python!
上面的例子中,输出和未修改定界符之前是一样的,都是hello,python!
以上这篇使用Template格式化Python字符串的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。