私はこれをやろうとしています:
a = "1 or 0"
if (a): Print "true"
そのため、if ステートメントの条件として文字列を使用できます。これは可能ですか?
私はこれをやろうとしています:
a = "1 or 0"
if (a): Print "true"
そのため、if ステートメントの条件として文字列を使用できます。これは可能ですか?
可能ですが、しないでください。
a = '1 or 0'
if eval(a):
print 'a is True'
eval()
デバッグが難しく、ここでは利点がなく、任意のユーザー入力を許可すると簡単に悪用できます (例: a = "__import__('os').system('rm -Rf /')"
)。
文字列は常に statement 用であるTrue
ため、if
ステートメントif it is not empty
で使用しても意味がありませんif
。
In [12]: my_str = 'a=a'
In [13]: if my_str:
....: print True
....: else:
....: print False
....:
True
In [14]: new_str = ''
In [15]: if new_str:
....: print True
....: else:
....: print False
....:
False
In [16]:
したがって、ブール値として計算される実際の条件を渡してみてください。