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!

  • 相关阅读:
    步步为营-15-文件夹的操作
    步步为营-14-文件操作
    步步为营-13-日期转化
    步步为营-12-Dictionary-翻译
    步步为营-11-List<T>泛型的简单练习
    步步为营-10-string的简单操作
    步步为营-09-简单工厂类-计算器
    B. Fixed Points
    C. Cd and pwd commands
    Queries on a String
  • 原文地址:https://www.cnblogs.com/blackmatrix/p/8196527.html
Copyright © 2011-2022 走看看