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

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

对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

标签:Template,Python,字符串
0
投稿

猜你喜欢

  • vue keep-alive请求数据的方法示例

    2024-06-05 09:19:11
  • Python曲线拟合详解

    2023-12-29 05:54:50
  • MySQL基于GTID主从搭建

    2024-01-23 18:17:56
  • SQL查询效率-100w数据查询只要1秒

    2008-08-20 18:25:00
  • python科学计算之numpy——ufunc函数用法

    2023-05-13 15:13:12
  • Python 余弦相似度与皮尔逊相关系数 计算实例

    2022-02-24 01:32:52
  • 解决IIS出现Active Server Pages错误“ASP 0201”

    2009-05-25 18:04:00
  • 从零学python系列之从文件读取和保存数据

    2021-02-11 01:51:29
  • Python实现端口检测的方法

    2022-02-01 21:21:02
  • Python3安装pip工具的详细步骤

    2021-09-27 15:38:09
  • Django利用cookie保存用户登录信息的简单实现方法

    2021-03-22 16:47:26
  • Pytorch中torch.nn.Softmax的dim参数用法说明

    2023-08-28 04:20:10
  • asp使用模板生成静态页面方法详解

    2007-09-24 12:29:00
  • 解决echarts中饼图标签重叠的问题

    2021-10-22 03:33:33
  • 解决Vue axios post请求,后台获取不到数据的问题方法

    2024-05-09 09:38:38
  • Python写了个疫情信息快速查看工具实例代码

    2021-10-31 15:26:52
  • springBoot下实现java自动创建数据库表

    2024-01-24 12:26:31
  • Django 限制用户访问频率的中间件的实现

    2023-12-17 20:19:19
  • mysql installer community 8.0.16.0安装配置图文教程

    2024-01-14 00:30:55
  • js不是基础的基础

    2024-05-03 15:57:54
  • asp之家 网络编程 m.aspxhome.com