python标准库string

string

包括处理文本的常量和类

一、函数

capwords(),将一个字符串中的所有单词的首字母大写。可以在参数中添加分割的符号。

import string

a="i am your father"

print(string.capwords(a))

print(string.capwords(a,' '))

print(string.capwords(a,'y'))

print(string.capwords(a,'f'))

运行结果

I Am Your Father
I Am Your Father
I am yOur father
I am your fAther

二、模板

1.字符串模板,用来拼接字符串,在拼接时在字符串前加$标识变量,当需要与两侧文本相区分的时候,用大括号将变量括起来。

import string
a={'var':'foo'}

t=string.Template("""
variable  :   $var
escape    :   $$
variable in text : ${var}iable

""")

print("template:",t.substitute(a))



import string
a={'c':'foo'}

t=string.Template("""
variable  :   $c
escape    :   $$
variable in text : ${c}iable

""")

print("template:",t.substitute(a))

运行结果

template: 
variable  :   foo
escape    :   $
variable in text : fooiable

会将$后面的变量替换为之前字典中储存的值。在输出$的时候需要写两次完成转义。

2.用%操作符进行拼接

import string
a={'c':'foo'}

t="""
variable  :   %(c)s
escape    :   %%
variable in text : %(c)siable

"""
print("template:",t % a)

运行结果

template: 
variable  :   foo
escape    :   %
variable in text : fooiable

模板与标准字符拼接的区别,模板不需要考虑参数类型,值会转换为字符串,再将字符串插入结果中。

3.可以通过safe_substitute()方法,避免当没有提供模板所需全部参数的时候产生异常,程序仍会正常运行,不过会在输出的时候在文本表达式中将这个异常保留。

import string

a={'var':"I"}

T=string.Template("$var am your $baba father")

try :
    print('substitute():' ,T.substitute(a))
except KeyError:
    print('ERROR')
print('safe_substitute():',T.safe_substitute(a))

运行结果

ERROR
safe_substitute(): I am your $baba father

因为在字典中只储存了var的值,而没有baba的值,所以将保留变量的表达式。

 

 

你可能感兴趣的:(python标准库)