Python中模块string.py详解

 更新时间:2017年03月12日 11:42:51   作者:Brad1994  
这篇文章主要介绍了Python中模块之string.py的相关资料,文中介绍的非常详细,对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。

一、用法

字符串常量:

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)

结果

abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
0123456789
0123456789abcdefABCDEF
01234567
!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&'()*+,-
 ./:;<=>?@[\]^_`{|}~

二、Template类:

其实,Template类,可以和格式化字符串的用法还有字符串对象的format()方法做对比,可以帮助更好地理解。首先,新建一个python文件:string_template.py,

然后在里面写入以下内容:

import string

values = {'var': 'foo'}

t = string.Template("""
Variable : $var
Escape  : $$
Variable in text: ${var}iable
""")

print('TEMPLATE:', t.substitute(values))

s = """
Variable : %(var)s
Escape  : %%
Variable in text: %(var)siable
"""

print('INTERPOLATION:', s % values)

s = """
Variable : {var}
Escape  : {{}}
Variable in text: {var}iable
"""

print('FORMAT:', s.format(**values))

然后,在python命令行中输入:

$ python string_template.py

结果

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示例:

import string
class MyTemplate(string.Template):
 delimiter = '%'
 idpattern = '[a-z]+_[a-z]+'


template_text = '''
 Delimiter : %%
 Replaced : %with_underscore
 Igonred : %notunderscored
'''


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是对变量的格式指定。

结果

$ python string_template_advanced.py
Modified ID pattern:

 Delimiter : %
 Replaced : replaced
 Igonred : %notunderscored

为什么notunderscored没有被替换呢?原因是我们在类定义的时候,idpattern里指定要出现下划线'_', 而该变量名并没有下划线,故替代不了。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

相关文章

  • Python实现一键整理百度云盘中重复无用文件

    Python实现一键整理百度云盘中重复无用文件

    有没有头疼过百度云盘都要塞满了,可是又没有工具能剔除大量重复无用的文件?这里教你一个用Python实现的简单方法,通过整理目录的方式来处理我们云盘中无用的文件吧
    2022-08-08
  • 详解利用python+opencv识别图片中的圆形(霍夫变换)

    详解利用python+opencv识别图片中的圆形(霍夫变换)

    这篇文章主要介绍了详解利用python+opencv识别图片中的圆形(霍夫变换),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • python中的格式化输出用法总结

    python中的格式化输出用法总结

    这篇文章主要介绍了python中的格式化输出用法,分析了Python格式化输出的种类并结合实例形式总结了针对浮点数的格式化输出方法,需要的朋友可以参考下
    2016-07-07
  • 13个你可能未使用过的Python特性分享

    13个你可能未使用过的Python特性分享

    Python 是顶级编程语言之一,它具有许多程序员从未使用过的许多隐藏功能。在这篇博客中,将和大家分享一下你可能从未使用过的13 个 Python 特性,感兴趣的可以学习一下
    2022-11-11
  • python运行环境在新旧电脑间迁移的三种方法

    python运行环境在新旧电脑间迁移的三种方法

    环境部署或迁移是一项简单而又考验应对能力的一项工作,这篇文章主要给大家介绍了关于python运行环境在新旧电脑间迁移的三种方法,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-08-08
  • Python的@装饰器的作用小结

    Python的@装饰器的作用小结

    本文给大家讲解Python的@装饰器的用途,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2021-11-11
  • Python爬虫之解析HTML页面详解

    Python爬虫之解析HTML页面详解

    本文介绍了Python中用于解析HTML页面的重要工具之一——BeautifulSoup库,详细讲解了BeautifulSoup库的基本使用方法、标签选择器、CSS选择器、正则表达式、遍历文档树等内容,并结合实例代码展示了BeautifulSoup库的应用场景
    2023-04-04
  • 深入理解python try异常处理机制

    深入理解python try异常处理机制

    下面小编就为大家带来一篇深入理解python try异常处理机制。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-06-06
  • 在Python的Flask框架下使用sqlalchemy库的简单教程

    在Python的Flask框架下使用sqlalchemy库的简单教程

    这篇文章主要介绍了在Python的Flask框架下使用sqlalchemy库的简单教程,用来简洁地连接与操作数据库,需要的朋友可以参考下
    2015-04-04
  • pytorch实现好莱坞明星识别的示例代码

    pytorch实现好莱坞明星识别的示例代码

    本文主要介绍了pytorch实现好莱坞明星识别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01

最新评论