GroovyにはGStringの概念があります。私はこのようなコードを書くことができます:GStrings in Python
def greeting = 'Hello World'
println """This is my first program ${greeting}"""
私は文字列内から変数の値にアクセスできます。
私はこれをPythonでどうやって行うことができますか?
- おかげ
GroovyにはGStringの概念があります。私はこのようなコードを書くことができます:GStrings in Python
def greeting = 'Hello World'
println """This is my first program ${greeting}"""
私は文字列内から変数の値にアクセスできます。
私はこれをPythonでどうやって行うことができますか?
- おかげ
Pythonでは、可能な変数の辞書を明示的に渡す必要があります。文字列内から任意の「外部」変数にアクセスすることはできません。しかし、ローカルスコープのすべての変数を含む辞書を返す関数locals()
を使用することができます。
は、実際の交換の場合は、それを行うには多くの方法があります:印刷と括弧が3.0新しさであることを
はgreeting = "Hello World"
# Use this in versions prior to 2.6:
print("My first programm; %(greeting)s" % locals())
# Since Python 2.6, the recommended example is:
print("My first program; {greeting}".format(**locals()))
# Works in 2.x and 3.x:
from string import Template
print(Template("My first programm; $greeting").substitute(locals()))
d = {'greeting': 'Hello World'}
print "This is my first program %(greeting)s" % d
あなたは正確に...
は、私はあなたが本当に標準%ベースの置換、例えば使用され得ることができ、最も近いと考えることはできません。
greeting = "Hello World"
print "This is my first program %s" % greeting
を
これは言いましたが、Python 2.6のような新しいクラスがいくつか用意されています:異なる方法でこれを行うことができます:the string documentation for 2.6をチェックしてください。より多くのアウト。
あなたがテンプレートを作成しようとしている場合は、チーターに目を向けたいかもしれません。それはあなたが話すこと、同じ構文、そしてすべてを正確に行うことができます。 Pythonで
注;(どのようにunpythonic!) printがキーワードである前に、3.0ではそれは他の関数と同じように機能するので、括弧が必要です。これは、他の答えで、あなたがそれらのない例を見る理由です。 – unwind
プリント( "私の最初のプログラム; {あいさつ}" 形式(**地元の人々())。) は、この最後の行は私にエラーを与える: はAttributeError: 'STR' オブジェクトは、あなたのためだ何の属性が 'format' – Parag
を持っていません3.0ではない - 最後の例は3.0のみです。 Python 2.xで推奨されるオプションは、最初の例です。 –