刚开始熟悉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!