ホームページ > バックエンド開発 > Python チュートリアル > Python モジュール string.py の概要

Python モジュール string.py の概要

高洛峰
リリース: 2017-03-12 10:21:39
オリジナル
1315 人が閲覧しました

この記事では、Pythonモジュールのstring.pyの概要について説明します

string
  1. 定数

    : import string

    print

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



    Result
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 コマンド ラインに次のように入力します:
$ 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 = &#39;%&#39;
    idpattern = &#39;[a-z]+_[a-z]+&#39;


template_text = &#39;&#39;&#39;
    Delimiter : %%
    Replaced  : %with_underscore
    Igonred   : %notunderscored
&#39;&#39;&#39;


d = {
    &#39;with_underscore&#39;: &#39;replaced&#39;,
    &#39;notunderscored&#39;: &#39;not replaced&#39;,
}

t = MyTemplate(template_text)
print(&#39;Modified ID pattern:&#39;)
print(t.safe_substitute(d))
ログイン後にコピー
まず、上記の Python ファイルについて説明します。 MyTemplate クラスが内部で定義されており、文字列の Template クラスを継承し、その 2 つのフィールドをオーバーロードします。 Delimiter は修飾子であり、以前の '$' の代わりに '%' として指定されます。 次に、idpattern は変数の形式指定です。 結果

$ python string_template_advanced.py
Modified ID pattern:

    Delimiter : %
    Replaced  : replaced
    Igonred   : %notunderscored
ログイン後にコピー
notunderscored が置き換えられなかったのはなぜですか?その理由は、クラスを定義するときに、idpattern にアンダースコア '_' を指定するように指定していますが、変数名 にはアンダースコアがないため、置換することができません。

以上がPython モジュール string.py の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート