使用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!
以上这篇使用Template格式化Python字符串的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
python字符串格式化方式解析
1.%格式符 name = '李四' age = 18 a = "姓名:%s,年龄:%s"%(name,age) print(a) #姓名:李四,年龄:18 b = "%(name)s,%(age)s"%{'name':'张三','age':18} print(b) #张三,18 这种格式化并不是很好,因为它很冗长并且容易导致错误,比如没有正确显示元组或字典 2.str.format() name = '李四' age = 18 # 替换字段用大括号进行标记 a
-
使用Python将字符串转换为格式化的日期时间字符串
我正在尝试将字符串"20091229050936"转换为"2009年12月29日(UTC)" >>>import time >>>s = time.strptime("20091229050936", "%Y%m%d%H%M%S") >>>print s.strftime('%H:%M %d %B %Y (UTC)') 给 AttributeError: 'time.str
-
Python字符串格式化%s%d%f详解
关于讨论输出格式化的问题,小编不是一时兴起,之前学习python的时候就经常遇到输出时"%d",一直没有仔细学习,今天又看到了,下面分享一个简单实例,python输出99乘法表: #!/usr/bin/python # -*- coding: UTF-8 -*- for i in range(1, 10): print for j in range(1, i+1): print "%d*%d=%d" % (i, j, i*j), 结果: 1*1=1 2*1=2 2*
-
python2与python3的print及字符串格式化小结
最近一直在用python写程序,对于python的print一直很恼火,老是不按照预期输出.在python2中print是一种输出语句,和if语句,while语句一样的东西,在python3中为了填补python2的各种坑,将print变为函数,因此导致python3中print的一些使用和python2很不一样.同时,python3大改python2中的字符串格式化,主推format()函数格式,用法很是灵活,让老用户一时摸不着头脑.今天特来总结一样print和format,也希望能帮助大家彻
-
Python之time模块的时间戳,时间字符串格式化与转换方法(13位时间戳)
Python处理时间和时间戳的内置模块就有time,和datetime两个,本文先说time模块. 关于时间戳的几个概念 时间戳,根据1970年1月1日00:00:00开始按秒计算的偏移量. 时间元组(struct_time),包含9个元素. time.struct_time(tm_year=2017, tm_mon=10, tm_mday=1, tm_hour=14, tm_min=21, tm_sec=57, tm_wday=6, tm_yday=274, tm_isdst=0) 时间格式字
-
Python常见格式化字符串方法小结【百分号与format方法】
本文实例讲述了Python常见格式化字符串方法.分享给大家供大家参考,具体如下: [方式一]百分号(%)方式,类C的printf,需要分别不同类型. 1.匿名tuple.(推荐在参数少时用) >>> '姓名:%s, 年龄:%d' % ('walker', 99) '姓名:walker, 年龄:99' 2.命名dict,字典的key可以重用. >>> '姓名:%(name)s, 年龄:%(age)d, 工龄:%(age)d' % {'name':'walker', 'ag
-
Python格式化字符串f-string概览(小结)
简介 f-string,亦称为格式化字符串常量(formatted string literals),是Python3.6新引入的一种字符串格式化方法,该方法源于PEP 498 – Literal String Interpolation,主要目的是使格式化字符串的操作更加简便.f-string在形式上是以 f 或 F 修饰符引领的字符串(f'xxx' 或 F'xxx'),以大括号 {} 标明被替换的字段:f-string在本质上并不是字符串常量,而是一个在运行时运算求值的表达式: While
-
使用Template格式化Python字符串的方法
对Python字符串,除了比较老旧的%,以及用来替换掉%的format,及在python 3.6中加入的f这三种格式化方法以外,还有可以使用Template对象来进行格式化. from string import Template,可以导入Template类. 实例化Template类需要传入一个Template模板字符串. class Template(metaclass=_TemplateMetaclass): """A string class for supporti
-
C#格式化json字符串的方法分析
本文实例讲述了C#格式化json字符串的方法.分享给大家供大家参考,具体如下: 将Json字符串转化成格式化表示的方法: 字符串反序列化为对象-->对象再序列化为字符串 使用Newtonsoft.Json提供的API,下载地址:http://www.newtonsoft.com/json 很多时候我们需要将json字符串以 { "status": 1, "sum": 9 } 这种方式显示,而从服务端取回来的时候往往是这样 {"status"
-
python字符串连接方法分析
本文实例分析了python字符串连接方法.分享给大家供大家参考,具体如下: python字符串连接有几种方法,把大家可能用到的列出来,第一个方法效率是最低的,另外给大家介绍后面的 2种效率高的方法,希望对大家有帮助. 先介绍下效率比较低的,有些新手朋友就会犯这个错误: a = ['a','b','c','d'] content = '' for i in a: content = content + i print content 说下为什么效率会低呢? 原因:在循环连接字符串的时候,他每次连接
-
python字符串的方法与操作大全
一:字符串的方法与操作 *注意:首字母为l的为从左边操作,为r的方法为从右边操作 1.__contains__()判断是否包含 判断指定字符或字符串是否包含在一个字符串内,返回值为true或者false str1="asdfgh" print(str1.__contains__('a')) print(str1.__contains__("df")) print(str1.__contains__('r')) 运行结果: True True False 作用和in相
-
C语言字符串转换为Python字符串的方法
问题 怎样将C中的字符串转换为Python字节或一个字符串对象? 解决方案 C字符串使用一对 char * 和 int 来表示, 你需要决定字符串到底是用一个原始字节字符串还是一个Unicode字符串来表示. 字节对象可以像下面这样使用 Py_BuildValue() 来构建: char *s; /* Pointer to C string data */ int len; /* Length of data */ /* Make a bytes object */ PyObject *obj
-
Python字符串对齐方法使用(ljust()、rjust()和center())
Python str 提供了 3 种可用来进行文本对齐的方法,分别是 ljust().rjust() 和 center() 方法,本节就来一一介绍它们的用法. Python ljust()方法 ljust() 方法的功能是向指定字符串的右侧填充指定字符,从而达到左对齐文本的目的. ljust() 方法的基本格式如下: S.ljust(width[, fillchar]) 其中各个参数的含义如下: S:表示要进行填充的字符串: width:表示包括 S 本身长度在内,字符串要占的总长度: fill
-
python字符串排序方法
本文以实例形式简述了Python实现字符串排序的方法,是Python程序设计中一个非常实用的技巧.分享给大家供大家参考之用.具体方法如下: 一般情况下,python中对一个字符串排序相当麻烦: 一.python中的字符串类型是不允许直接改变元素的.必须先把要排序的字符串放在容器里,如list. 二.python中的list容器的sort()函数没返回值. 所以在python中对字符串排序往往需要好几行代码. 具体实现方法如下: >>> s = "string" >
-
C#格式化数字字符串的方法
本文实例为大家分享了C#格式化数字字符串的具体代码,供大家参考,具体内容如下 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace _2018_05_04_AM_1520_格式化数字字符串 { class Program { static void Main(string[] args) { /* *
-
Python字符串格式化输出方法分析
本文实例分析了Python字符串格式化输出方法.分享给大家供大家参考,具体如下: 我们格式化构建字符串可以有3种方法: 1 元组占位符 m = 'python' astr = 'i love %s' % m print astr 2 字符串的format方法 m = 'python' astr = "i love {python}".format(python=m) print astr 3 字典格式化字符串 m = 'python' astr = "i love %(pyt
-
Python字符串格式化的方法(两种)
本文介绍了Python字符串格式化,主要有两种方法,分享给大家,具体如下 用于字符串的拼接,性能更优. 字符串格式化有两种方式:百分号方式.format方式. 百分号方式比较老,而format方式是比较先进的,企图替代古老的方式,目前两者共存. 1.百分号方式 格式:%[(name)][flags][width].[precision]typecode (name) 可选,用于选择指定的key flags 可选,可供选择的值有: + 右对齐:正数的加正号,负数的加负号 - 左
随机推荐
- remote script文档(转载自微软)(七)
- 浅谈数据库事务四大特性
- hibernate4快速入门实例详解
- 正则表达式在javascript中的几个实例
- python 读取excel文件生成sql文件实例详解
- JS实现日期时间动态显示的方法
- js实现网站最上边可关闭的浮动广告条代码
- Python入门篇之对象类型
- 在Python中使用pngquant压缩png图片的教程
- JSP 导出Excel表格的实例
- Android编程开发之RadioGroup用法实例
- PHP判断搜索引擎蜘蛛并自动记忆到文件的代码
- Linux文件系统的桌面应用
- 徐州电信关于您本次上网未使用“星空极速”拨号软件的投诉
- JavaScript获取两个数组交集的方法
- C#实现redis读写的方法
- 基于Android LayoutInflater的使用介绍
- 图书管理程序(三)
- vue axios 二次封装的示例代码
- Python自定义函数定义,参数,调用代码解析