コードで使用できるように、文字列から引用符を取り除く必要があります。必ずしも変数としてではありませんが、それも便利です。文字列を解除する必要がある文字列は、if ステートメントで使用されます。
eval(j[0]) and eval(j[2])
これが読めるように
if (eval(j[0]) and eval(j[2])) == 1:
コードで使用できるように、文字列から引用符を取り除く必要があります。必ずしも変数としてではありませんが、それも便利です。文字列を解除する必要がある文字列は、if ステートメントで使用されます。
eval(j[0]) and eval(j[2])
これが読めるように
if (eval(j[0]) and eval(j[2])) == 1:
ほとんどの場合、eval() で何かを行うよりも、文字列をキーとする辞書を使用する方が適切です。
myData = {}
myData["g"] = 0
if (myData[j[0]] and myData[j[2]]) == 1: blah()
以下にいくつかの方法を示します。
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')
を使用してみてくださいstrip
: eval(j[0].strip('"'))
。また、使用を避けるようにしてくださいeval
。