一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術(shù)及教程分享平臺(tái)!
分類導(dǎo)航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務(wù)器之家 - 腳本之家 - Python - Python中模塊string.py詳解

Python中模塊string.py詳解

2020-09-23 09:47Brad1994 Python

這篇文章主要介紹了Python中模塊之string.py的相關(guān)資料,文中介紹的非常詳細(xì),對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面來一起看看吧。

一、用法

字符串常量:

?
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)

結(jié)果

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

二、Template類:

其實(shí),Template類,可以和格式化字符串的用法還有字符串對(duì)象的format()方法做對(duì)比,可以幫助更好地理解。首先,新建一個(gè)python文件:string_template.py,

然后在里面寫入以下內(nèi)容:

?
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("""
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命令行中輸入:

?
1
$ python string_template.py

結(jié)果

?
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  : {}

可以看到三者之間都可以起到對(duì)字符串里進(jìn)行格式化的效果。只是三者的修飾符不一樣。Template類好的一點(diǎn)就是其可以通過繼承類,實(shí)例化后自定義其修飾符,并且也可以對(duì)變量的名字格式進(jìn)行正則表達(dá)式的定義。

如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 = '''
 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文件。里面定義了一個(gè)類MyTemplate,繼承了string的Template類,然后,對(duì)其兩個(gè)域進(jìn)行重載: Delimiter為修飾符,現(xiàn)在指定為了‘%',而不是之前的‘$'。 接著,idpattern是對(duì)變量的格式指定。

結(jié)果

?
1
2
3
4
5
6
$ python string_template_advanced.py
Modified ID pattern:
 
 Delimiter : %
 Replaced : replaced
 Igonred : %notunderscored

為什么notunderscored沒有被替換呢?原因是我們?cè)陬惗x的時(shí)候,idpattern里指定要出現(xiàn)下劃線'_', 而該變量名并沒有下劃線,故替代不了。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對(duì)服務(wù)器之家的支持。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产亚洲精品第一综合另类 | 亚洲高清国产品国语在线观看 | 国产极品精频在线观看 | 男同gay玩奴男同玩奴 | 国语自产自拍秒拍在线视频 | 特级淫片大乳女子高清视频 | av魔镜收集号 | 操儿子| 色婷在线 | haodiaocao几万部精彩视频 | 国产第一页无线好源 | 啊皇上你好大要知画 | 久久精品WWW人人爽人人 | 日本另类z0zx高清 | 男人的私人影院 | 日本无卡无吗中文免费 | 国产毛片在线观看 | 问一问免费咨询 | 天天舔天天射 | 国产精品午夜剧场 | 亚洲啊v| 亚洲午夜精品久久久久久人妖 | 日本福利片国产午夜久久 | 亚洲AV精品无码喷水直播间 | 欧美高清一区 | 无限在线观看视频大全免费高清 | 国产精品久久久久一区二区三区 | 国产高清在线精品一区 | 99久久精品免费看国产四区 | 色悠久久久久综合欧美99 | 亚洲 欧美 国产 综合首页 | 99久久国产亚洲综合精品 | 国产成人无精品久久久 | 天天做日日做天天添天天欢公交车 | h卡通第一页 | 呜嗯啊野战h呻吟男男双性 污小说在线阅读 | 久久婷婷电影网 | 国产成人免费在线视频 | 天堂a免费视频在线观看 | 亚洲 国产精品 日韩 | ts人妖系列在线专区 |