(string.ascii_小文字)
print(文字列.ascii_uppercase)print(string.ascii_letters)print(string.digit
s)
print(string.hexdigits)
print(string.octdigits)print(string.punctuation)print(string.printable)
abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789 0123456789abcdefABCDEF 01234567 !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&'()*+,- ./:;<=>?@[\]^_`{|}~
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 : {}
3 つすべてが次のとおりであることがわかります。 OK 文字列をフォーマットする効果があります。 3 つの修飾子が異なるだけです。 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 string_template_advanced.py Modified ID pattern: Delimiter : % Replaced : replaced Igonred : %notunderscored
以上がPython モジュール string.py の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。