欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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)

結(jié)果

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

二、Template類:

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

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

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

結(jié)果

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為修飾符,現(xiàn)在指定為了‘%',而不是之前的‘$'。 接著,idpattern是對變量的格式指定。

結(jié)果

$ python string_template_advanced.py
Modified ID pattern:

 Delimiter : %
 Replaced : replaced
 Igonred : %notunderscored

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

總結(jié)

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

相關文章

最新評論