string模块的Template类

刚开始熟悉Pytho编程,首先接触了一个模板字符串。
这里用到了一个美元符号$

from string import Template
s=Template('$x, glorious $x!')
s.substitute(x='sum')
print s

执行后发现

<string.Template object at 0x02103A30>

百度了一下,发现主要是因为substitute函数并不是直接作用于模板字符串s上的,实际上,是通过返回值来回传信息的。

from string import Template
s=Template('$x,glorious $x!')
a=s.substitute(x='sum')
print a

此时,显示正常

sum,glorious sum!

既然这样,就研究一下这个模板字符串把
如果替换字段是单词的一部分,

from string import Template
s=Template('$x,glorious$xyeee!')
a=s.substitute(x='sum')
print a

发现此时报错

KeyError: 'xa'

显然$x后面有其他的字母,导致解释器不明白,所以,这里需要把参数名用括号括起来

from string import Template
s=Template('$x,glorious${x}yeee!')
a=s.substitute(x='sum')
print a

这里输出就正常了

sum,glorioussumyeee!

当然,如果$x后面没有其他字母,不引起歧义,也是可以的

rom string import Template
s=Template('$x,glorious$x!')
a=s.substitute(x='sum')
print a
sum,glorioussum!

对于美元符号$可以使用两个$$来表示

除此以外,可以用字典来使用变量提供值/名称

from string import Template
s=Template('$thing,glorious$action!')
d={}
d['thing']='gentleman'
d['action']='lallalalla'
a=s.substitute(d)
print a

输出

gentleman,gloriouslallalalla!
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值