ホームページ  >  記事  >  バックエンド開発  >  Python でのテンプレートの使用の概要

Python でのテンプレートの使用の概要

PHPz
PHPzオリジナル
2017-04-21 14:54:152742ブラウズ

テンプレートは間違いなく優れたもので、文字列の形式を修正して再利用できます。同時に、Template を使用すると、開発者は文字列の形式と内容を個別に検討できるため、開発者へのプレッシャーが事実上軽減されます。

テンプレートは文字列内のクラスに属しているため、それを使用したい場合は、次の方法で呼び出すことができます

from string import Template

テンプレートには特別な識別子$があり、次のルールがあります:

その主な実装メソッドは$です。 xxx、xxx は Python の命名規則を満たす文字列です。つまり、数字で始めることやキーワードにすることはできません。

$xxx が他の文字列と接触する必要がある場合は、xxx を {} で囲むことができます (以前は '()' が使用されていたようです。私の参考書にはこう書いてありますが、現在のバージョンでは '{}' のみを使用する必要があります)。たとえば、aaa${xxx}aaa

テンプレートには、substituteとsafe_substituteという2つの重要なメソッドがあります。

どちらのメソッドもパラメータを取得することで文字列を返すことができます

>>s=Template(There $a and $b)
>>print s.subtitute(a='apple',b='banana')
There apple and banana
>>print s.safe_substitute(a='apple',b='banbana')
There apple and banbana

また、次のように辞書を取得してデータを直接渡すこともできます。方法

>>s=Template(There $a and $b)
>>d={'a':'apple','b':'banbana'}
>>print s.substitute(d)
There apple and banbana

それらの違いは、欠落しているパラメーターの処理方法にあります。

テンプレートは、最初にテンプレートを通じて文字列を初期化することによって実装されます。これらの文字列にはキーが 1 つずつ含まれています。置換または安全なサブサイトを呼び出すことにより、キーの値がメソッドで渡されたパラメータと照合され、指定された場所に文字列がインポートされます。この方法の利点の 1 つは、キーが正しい限り、「%s」などを出力する必要がなく、値を正しく挿入できることです。こうすることで、大量のデータを挿入するときに安心できます。しかし、そのような怠惰な方法があったとしても、入力されたキーが 1 つ少ない場合はどうなるでしょうか。

置換は、キーが入力されていない場合、確実にエラーが報告される深刻な方法です。見栄えは悪くなりますが、問題点は見つかります。

safe_substitute はエラーを報告しませんが、$xxx を結果文字列に直接入力します。

there apple and $b

の利点は、プログラムが常に正しく、エラーに 1 つずつ圧倒される必要がないことです。

テンプレートは継承でき、そのサブクラスはいくつかの「個人化された」操作を実行できます...

$文字は区切り文字フィールドを変更することで「#」などの他の文字に変更できますが、新しい識別子はそれに準拠する必要があります通常のルールを使用した式の仕様。

idpattern を変更することでキーの命名規則を変更できます。たとえば、最初の文字は a で始まることが規定されており、これは命名を標準化するのに非常に適しています。もちろん、これは通常の表現によっても実現されます。

りー

以上がPython でのテンプレートの使用の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。