Python 模塊 string-常量和模板

Python 模塊 string-常量和模板

模塊 string 包含一些有用的常量和類處理字符串。

常量


  • ascii_letters 是一個包含所有字母的大小寫的字符串,它合併了 ascii_lowercase, ascii_uppercase
  • ascii_lowercase 所有小寫的字符 abcdefghijklmnopqrstuvwxyz
  • ascii_uppercase 所有大寫的字符 ABCDEFGHIJKLMNOPQRSTUVWXYZ
  • digits 所有數字 0123456789
  • hexdigits 所有16進制的字符 0123456789abcdefABCDEF
  • octdigits 所有8進制數字 01234567
  • punctuation 包含所有 ASCII 認為的標點符號的字符串
  • whitespace 包含所有 ASCII 認為的空白符
  • printable 包含所有 ASCII 可打印的字符串,它合併了 digits, ascii_letters, punctuation, whitespace
Python 模塊 string-常量和模板

執行:

Python 模塊 string-常量和模板

函數


函數 capwords() 大寫字符串中的每個單詞。

Python 模塊 string-常量和模板

執行:

Python 模塊 string-常量和模板

模板 Templates


字符串模板在 PEP 292 添加進來,使用模板,可以很方便的進行變量的替換,變量名前使用 $ 美元符號作為前綴,例如 $var,也可以使用花括號和其他字符隔離開 ${var}。

下面的代碼完成了一個簡單的變量替換。

Python 模塊 string-常量和模板

執行:

Python 模塊 string-常量和模板

如果想輸出特殊字符 $,需要使用兩個 $$ 進行轉義,類似正則表達式的 \。

Python 模塊 string-常量和模板

執行:

Python 模塊 string-常量和模板

使用字符串模板和使用 format() 方法的區別是,模板只是負責替換,沒有格式化的功能,而 format() 支持類型轉換、對齊、屬性和字段引用和特殊類型的格式化選項等等。

替換操作調用的是 substitute() 方法,它必須在字典中指出所有的變量替換,如果模板中有的變量沒有指定,會觸發 KeyError 錯誤。使用 safe_substutute() 不會觸發錯誤。

Python 模塊 string-常量和模板

執行:

Python 模塊 string-常量和模板

模板高級操作


string.Template 可以通過繼承修改默認的行為,例如修改變量前綴和變量的正則表達式匹配。

Python 模塊 string-常量和模板

執行:

Python 模塊 string-常量和模板

這裡例子中,把變量前綴改成了 %,變量名規則 idpattern 修改了必須包含下劃線才替換。


分享到:


相關文章: