国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python中模塊string.py詳解

2020-02-23 04:24:17
字體:
來源:轉載
供稿:網友

一、用法

字符串常量:

import stringprint(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)

結果

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

二、Template類:

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

然后在里面寫入以下內容:

import stringvalues = {'var': 'foo'}t = string.Template("""Variable : $varEscape  : $$Variable in text: ${var}iable""")print('TEMPLATE:', t.substitute(values))s = """Variable : %(var)sEscape  : %%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 : fooEscape  : $Variable in text: fooiableINTERPOLATION:Variable : fooEscape  : %Variable in text: fooiableFORMAT:Variable : fooEscape  : {}

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

如string_template_advanced.py示例:

import stringclass 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.pyModified ID pattern: Delimiter : % Replaced : replaced Igonred : %notunderscored

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 靖远县| 高邮市| 平邑县| 苗栗市| 左云县| 泰兴市| 乌审旗| 邮箱| 黑龙江省| 惠水县| 东乌珠穆沁旗| 峨山| 杭锦旗| 新营市| 南岸区| 观塘区| 改则县| 阿巴嘎旗| 峨眉山市| 呼玛县| 梅河口市| 珲春市| 宜城市| 天津市| 北票市| 梧州市| 天柱县| 南岸区| 通城县| 新建县| 康马县| 岑巩县| 海原县| 连江县| 漠河县| 新余市| 蒙自县| 巫山县| 呈贡县| 信阳市| 呼伦贝尔市|