0

コードで使用できるように、文字列から引用符を取り除く必要があります。必ずしも変数としてではありませんが、それも便利です。文字列を解除する必要がある文字列は、if ステートメントで使用されます。

eval(j[0]) and eval(j[2])

これが読めるように

if (eval(j[0]) and eval(j[2])) == 1:
4

3 に答える 3

2

ほとんどの場合、eval() で何かを行うよりも、文字列をキーとする辞書を使用する方が適切です。

myData = {}
myData["g"] = 0
if (myData[j[0]] and myData[j[2]]) == 1: blah()
于 2012-05-04T00:53:06.690 に答える
1

以下にいくつかの方法を示します。

a,b,c = 1,2,3
v = 'a'
if eval(v) == 1:
    print('true')

上記は機能しますが、危険と見なされます。ユーザーがそのvようなものに等しいと設定した場合、import os; os.system('rd /s/q "c:/program files"')評価するのは悪いことです。

a,b,c = 1,2,3
v = 'a'
if globals()[v] == 1:
    print ('true')

これも機能しますが、理想的とは言えません。

このようなアイテムをキーと値のペアの辞書に保存し、そこで検索するのが最善です。

variables = {}
variables['a'] = 1
variables['b'] = 2
variables['c'] = 3
print(variables)

# A shortcut to initialize variables.
variables = dict(a=1,b=2,c=3)
print(variables)
v = 'a'
if variables[v] == 1:
    print('true')
于 2012-05-04T00:53:46.270 に答える
0

を使用してみてくださいstrip: eval(j[0].strip('"'))。また、使用を避けるようにしてくださいeval

于 2012-05-04T00:38:31.323 に答える