本文摘自php中文网,作者不言,侵删。
这篇文章主要介绍了Python中模块之string.py的相关资料,文中介绍的非常详细,对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。一、用法
字符串常量:
1 2 3 4 5 6 7 8 9 10 | import string
print(string.ascii_lowercase)
print(string.ascii_uppercase)
print(string.ascii_letters)
print(string.digits)
print(string.hexdigits)
print(string.octdigits)
print(string.punctuation)
print(string.printable)
|
结果
1 2 3 4 5 6 7 8 9 | abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
0123456789
0123456789abcdefABCDEF
01234567
!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&'()*+,-
./:;<=>?@[\]^_`{|}~
|
二、Template类:
其实,Template类,可以和格式化字符串的用法还有字符串对象的format()
方法做对比,可以帮助更好地理解。首先,新建一个python文件:string_template.py
,
然后在里面写入以下内容:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | import string
values = { 'var' : 'foo' }
t = string.Template(
)
print ( 'TEMPLATE:' , t.substitute(values))
s =
print ( 'INTERPOLATION:' , s % values)
s =
print ( 'FORMAT:' , s. format ( * * values))
|
然后,在python命令行中输入:
1 | $ python string_template.py
|
结果
1 2 3 4 5 6 7 8 9 10 11 12 13 | TEMPLATE:
Variable : foo
Escape : $
Variable in text: fooiable
INTERPOLATION:
Variable : foo
Escape : %
Variable in text: fooiable
FORMAT :
Variable : foo
Escape : {}
|
可以看到三者之间都可以起到对字符串里进行格式化的效果。只是三者的修饰符不一样。Template类好的一点就是其可以通过继承类,实例化后自定义其修饰符,并且也可以对变量的名字格式进行正则表达式的定义。
如string_template_advanced.py示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | import string
class MyTemplate(string.Template):
delimiter = '%'
idpattern = '[a-z]+_[a-z]+'
template_text =
d = {
'with_underscore' : 'replaced' ,
'notunderscored' : 'not replaced' ,
}
t = MyTemplate(template_text)
print ( 'Modified ID pattern:' )
print (t.safe_substitute(d))
|
首先,解释下上面python文件。里面定义了一个类MyTemplate,继承了string的Template类,然后,对其两个域进行重载: Delimiter为修饰符,现在指定为了‘%',而不是之前的‘$'。 接着,idpattern是对变量的格式指定。
结果
1 2 3 4 5 6 | $ python string_template_advanced.py
Modified ID pattern:
Delimiter : %
Replaced : replaced
Igonred : % notunderscored
|
为什么notunderscored没有被替换呢?原因是我们在类定义的时候,idpattern里指定要出现下划线'_', 而该变量名并没有下划线,故替代不了。
以上就是Python中的模块string.py的详细内容,更多文章请关注木庄网络博客!!
相关阅读 >>
Python函数中return后的语句执行不?
Python学会了可以干什么
Python对字符串实现重操作方法讲解
学Python用什么软件好?Python开发工具推荐
如何用Python统计不同字符个数
Python用pip安装numpy
Python中map是什么意思
Python运行其他程序的方法实例详解
Python如何计算平方和
详解Python的局部变量和全局变量使用难点
更多相关阅读请进入《Python》频道 >>
人民邮电出版社
python入门书籍,非常畅销,超高好评,python官方公认好书。
转载请注明出处:木庄网络博客 » Python中的模块string.py