2

Python でステートメントを動的に実行するにはどうすればよいですか?

例: 値 x に次の式 (a+b)/2 が含まれているとします。

a = 1
b = 3
x = (a+b)/2

x の値はテーブルから取得されます

4

4 に答える 4

2

おそらくあなたが欲しいeval

#!/usr/bin/env python

a = 1
b = 3
x = "(a+b)/2"
print eval(x)

しかし、それは通常悪い習慣と考えられています (より精巧で楽しい説明については、ここをクリックしてください)

于 2012-08-21T17:37:26.170 に答える
0

できるよ:

a = 1
b = 3
x = '(a+b)/2'

print eval(x)

文字列またはコード オブジェクトが必要なため、値xは引用符で囲まれていることに注意してください。eval

また、おそらくこれを読んで、安全に使用できることを確認してください(これはしばしば懸念される可能性があり、私はその欠陥の専門家であるふりをするつもりはありません:))。

于 2012-08-21T17:34:45.277 に答える
0

Python には「exec()」と「eval()」の両方がありますが、この場合は後者を使用する必要があると思います。

>>> a = 1
>>> b = 3
>>> x = "(a + b)/2"
>>> eval(x)
2
于 2012-08-21T17:35:21.533 に答える
0

次のように、eval を使用できます。

eval(x)

実際に使用できます

x=eval('(a+b)/2')

結果を取得します (この場合、eval は計算の結果を返します)。

于 2012-08-21T17:37:07.587 に答える