##字串常數:
import stringprint(string.ascii_lowercase)print(string. ascii_uppercase)
print(string.ascii_letters)
print(string.di
gits)print(string.hexdigits)
print(string.octdigits)
print (string.punctuation)
print(string.printable)
#結果
abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789 0123456789abcdefABCDEF 01234567 !"#$%&'()*+,-./:;96b4fef55684b9312718d5de63fb7121?@[\]^_`{|}~ 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&'()*+,- ./:;96b4fef55684b9312718d5de63fb7121?@[\]^_`{|}~1.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 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.py介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!