あなたの質問が分かっている場合は、コードに文字列値をハードコードする必要があるかどうかを尋ねてきます。コンパイルされた言語では、実際の文字列を入力する代わりに、文字列への参照を使用することがよくあります。 ala:
message.success(request, message_resource.success)
これにより、コードを再コンパイルせずに文字列値を自由に変更でき、場合によってはパフォーマンス上のメリットがあります。
Pythonが動的なので、これは実際には必須ではありませんが、プロジェクトのサイズによっては有益かもしれません。
ソフトウェアがさまざまな言語を話す人々によって使用される状況を想像してください。コード内で必要な言語を検出して、message_resource.success
などの文字列を前記言語に初期化することができます。ここ
は簡単な例です:
german.py
# german language messages
success = "Sie folgten!"
failure = "Sie fallen aus!"
english.py
#english language messages
success = "You succeeded!"
failure = "You fail!"
main.py
# main
# import english language
message_resource = __import__('english');
print message_resource.success
print message_resource.failure
# import german language
message_resource = __import__('german');
print message_resource.success
print message_resource.failure
"ハードコード化されましたか"?代わりに何がありますか?メッセージのI18N翻訳?それとも、他に何か覚えていますか? –