全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

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的string模块  # python中string模块  # 详解Python中string模块除去Str还剩下什么  # Python中字符串String的基本内置函数与过滤字符模块函数的基本用法  # Python的string模块中的Template类字符串模板用法  # python中string模块各属性以及函数的用法介绍  # python模块之StringIO使用示例  # Python StringIO模块实现在内存缓冲区中读写数据  # Python中String模块示例详解  # 下划线  # 修饰符  # 也可  # 对其  # 可以通过  # 可以看到  # 自定义  # 在里面  # 这篇文章  # 谢谢大家  # 可以帮助  # 以对  # 命令行  # 新建一个  # 而不是  # 而该  # 变量名  # 更好地  # 继承了  # 有疑问 


相关文章: 建站之星如何实现五合一智能建站与营销推广?  建站主机选虚拟主机还是云服务器更好?  c# Task.Yield 的作用是什么 它和Task.Delay(1)有区别吗  实惠建站价格推荐:2025年高性价比自助建站套餐解析  详解jQuery停止动画——stop()方法的使用  建站之星2.7模板:企业网站建设与h5定制设计专题  平台云上自主建站:模板化设计与智能工具打造高效网站  已有域名如何快速搭建专属网站?  如何在腾讯云服务器上快速搭建个人网站?  网站代码制作软件有哪些,如何生成自己网站的代码?  一键制作网站软件下载安装,一键自动采集网页文档制作步骤?  h5网站制作工具有哪些,h5页面制作工具有哪些?  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  ,在苏州找工作,上哪个网站比较好?  建站org新手必看:2024最新搭建流程与模板选择技巧  车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?  高端智能建站公司优选:品牌定制与SEO优化一站式服务  建站之星备案流程有哪些注意事项?  制作电商网页,电商供应链怎么做?  常州企业网站制作公司,全国继续教育网怎么登录?  招商网站制作流程,网站招商广告语?  Android自定义控件实现温度旋转按钮效果  如何快速启动建站代理加盟业务?  如何选择域名并搭建高效网站?  建站之星各版本价格是多少?  三星网站视频制作教程下载,三星w23网页如何全屏?  Android滚轮选择时间控件使用详解  如何在宝塔面板创建新站点?  学校建站服务器如何选型才能满足性能需求?  如何在宝塔面板中创建新站点?  如何在阿里云域名上完成建站全流程?  Thinkphp 中 distinct 的用法解析  如何实现建站之星域名转发设置?  建站之星在线客服如何快速接入解答?  如何在局域网内绑定自建网站域名?  北京的网站制作公司有哪些,哪个视频网站最好?  c# 服务器GC和工作站GC的区别和设置  C#如何使用XPathNavigator高效查询XML  PHP正则匹配日期和时间(时间戳转换)的实例代码  哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?  如何用IIS7快速搭建并优化网站站点?  代刷网站制作软件,别人代刷火车票靠谱吗?  官网自助建站平台指南:在线制作、快速建站与模板选择全解析  建站之星云端配置指南:模板选择与SEO优化一键生成  潮流网站制作头像软件下载,适合母子的网名有哪些?  武汉网站如何制作,黄黄高铁武穴北站途经哪些村庄?  新网站制作渠道有哪些,跪求一个无线渠道比较强的小说网站,我要发表小说?  ,巨量百应是干嘛的?  网站制作的软件有哪些,制作微信公众号除了秀米还有哪些比较好用的平台?  网站视频怎么制作,哪个网站可以免费收看好莱坞经典大片? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。