zoukankan      html  css  js  c++  java
  • 使用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!

  • 相关阅读:
    测试用例设计方法
    软件测试--常考的证书
    fillder-----接口延时返回(新方法)
    测试工作之--adb代码
    设计测试用例的常用方法
    TFS2013 设置签出独占锁
    Sql Server (MSSQLSERVER) 服务无法启动
    Sql 四大排名函数(ROW_NUMBER、RANK、DENSE_RANK、NTILE)简介
    C#使用redis学习笔记
    C#使用mybatis学习笔记
  • 原文地址:https://www.cnblogs.com/blackmatrix/p/8196527.html
Copyright © 2011-2022 走看看