全网整合营销服务商

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

免费咨询热线: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模块示例详解  # 下划线  # 修饰符  # 也可  # 对其  # 可以通过  # 可以看到  # 自定义  # 在里面  # 这篇文章  # 谢谢大家  # 可以帮助  # 以对  # 命令行  # 新建一个  # 而不是  # 而该  # 变量名  # 更好地  # 继承了  # 有疑问 


相关文章: 如何快速搭建高效服务器建站系统?  网站建设设计制作营销公司南阳,如何策划设计和建设网站?  如何通过二级域名建站提升品牌影响力?  建站之星备案是否影响网站上线时间?  广州美橙建站如何快速搭建多端合一网站?  建站主机空间推荐 高性价比配置与快速部署方案解析  建站之星代理平台如何选择最佳方案?  做企业网站制作流程,企业网站制作基本流程有哪些?  Bpmn 2.0的XML文件怎么画流程图  红河网站制作公司,红河事业单位身份证如何上传?  定制建站方案优化指南:企业官网开发与建站费用解析  建站VPS配置与SEO优化指南:关键词排名提升策略  如何获取开源自助建站系统免费下载链接?  如何在Mac上搭建Golang开发环境_使用Homebrew安装和管理Go版本  临沂网站制作企业,临沂第三中学官方网站?  海南网站制作公司有哪些,海口网是哪家的?  如何在Windows 2008云服务器安全搭建网站?  如何快速完成中国万网建站详细流程?  如何获取PHP WAP自助建站系统源码?  如何挑选高效建站主机与优质域名?  如何在IIS7上新建站点并设置安全权限?  北京企业网站设计制作公司,北京铁路集团官方网站?  建站之星CMS建站配置指南:模板选择与SEO优化技巧  手机网站制作与建设方案,手机网站如何建设?  Avalonia如何实现跨窗口通信 Avalonia窗口间数据传递  如何通过商城免费建站系统源码自定义网站主题?  宝塔新建站点为何无法访问?如何排查?  北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?  定制建站流程解析:需求评估与SEO优化功能开发指南  平台云上自助建站如何快速打造专业网站?  *服务器网站为何频现安全漏洞?  C++用Dijkstra(迪杰斯特拉)算法求最短路径  深圳网站制作的公司有哪些,dido官方网站?  单页制作网站有哪些,朋友给我发了一个单页网站,我应该怎么修改才能把他变成自己的呢,请求高手指点迷津?  如何高效完成独享虚拟主机建站?  建站之星安装后界面空白如何解决?  C++如何编写函数模板?(泛型编程入门)  简历在线制作网站免费版,如何创建个人简历?  ,石家庄四十八中学官网?  购物网站制作公司有哪些,哪个购物网站比较好?  如何在阿里云完成域名注册与建站?  潍坊网站制作公司有哪些,潍坊哪家招聘网站好?  定制建站是什么?如何实现个性化需求?  SQL查询语句优化的实用方法总结  岳西云建站教程与模板下载_一站式快速建站系统操作指南  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  如何用PHP快速搭建高效网站?分步指南  大同网页,大同瑞慈医院官网?  如何通过宝塔面板实现本地网站访问?  C++如何将C风格字符串(char*)转换为std::string?(代码示例) 

您的项目需求

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