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

首頁 > 編程 > Python > 正文

Python中模塊string.py詳解

2019-11-25 16:19:29
字體:
來源:轉載
供稿:網友

一、用法

字符串常量:

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

結果

$ python string_template_advanced.pyModified ID pattern: Delimiter : % Replaced : replaced Igonred : %notunderscored

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

總結

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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 洛隆县| 万州区| 全椒县| 德江县| 闻喜县| 嘉善县| 竹北市| 武鸣县| 肃宁县| 宣恩县| 洪雅县| 梁河县| 大姚县| 高邮市| 轮台县| 黔东| 江华| 裕民县| 小金县| 南安市| 察哈| 丽江市| 阳西县| 高邮市| 抚州市| 桑日县| 巩留县| 迁西县| 南川市| 北辰区| 白城市| 本溪市| 屯留县| 临漳县| 双江| 鹤壁市| 泽普县| 藁城市| 化德县| 宁都县| 辰溪县|