回答
對於if
語句if it is not empty
,字符串始終爲True
,因此在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]:
因此,儘量傳遞一些計算爲布爾值的真實條件。
您可以將字符串「a ==」與您的輸入字符串和eval()它合併。您應該小心執行此操作,因爲您允許執行任意代碼。
這是可能的,但不這樣做:
a = '1 or 0'
if eval(a):
print 'a is True'
eval()
是很難調試,在這裏沒有什麼好處,是很容易被利用,如果你允許任意用戶輸入(例如,a = "__import__('os').system('rm -Rf /')"
)。
[Oblicatory link](http://nedbatchelder.com/blog/201206/eval_really_is_dangerous.html) – Volatility 2013-05-05 07:33:32
我把這個問題看成「if a = 1 or 0」,並假設他們忘記了比較==。但你的回答更有意義 – 2013-05-05 08:08:42
- 1. Python條件語句和if語句
- 2. 使用字符串/文本輸入字段爲JavaScript一個條件if語句
- 3. 在字典中使用一個字符串作爲If語句(Python 3)
- 4. 使用if語句比較字符串
- 5. 使用字符串值作爲if/else語句表達
- 6. console.log作爲if語句中的條件
- 7. 使用If/Else語句將字符串轉換爲字符
- 8. 評估字符串的值作爲條件並執行IF語句
- 9. 如何檢索字符串值作爲java中if語句的條件?
- 10. PLSQL中的IF語句中的條件字符串
- 11. Python字符串字節與IF條件
- 12. Python的'if'語句 - 如果在[字符串] =='字符串' - 不工作?
- 13. Python條件和If語句語法
- 14. IF語句條件
- 15. 使用UIImage作爲if語句中的條件
- 16. 使用if語句的條件循環
- 17. if語句基於字符串字段
- 18. if語句中的條件運算符?
- 19. 與if語句匹配的字符串
- 20. 如何使用Subquery Select語句作爲IF條件?
- 21. 我可以使用循環作爲if語句條件語句嗎?
- 22. 關鍵字if語句indexOf字符串作用奇數?
- 23. 條件運算符(!=)(if-else語句)
- 24. 空,條件運算符和if語句
- 25. Python if語句使用Modulo
- 26. 使用exec()和用戶定義的字符串 - If語句?
- 27. 在if語句中比較字符串
- 28. 字符串比較和if語句
- 29. Excel if語句比較字符串值
- 30. java if語句字符串比較
是的,但它強烈建議不要。改變你的代碼以避免這種情況會更好。 – Volatility 2013-05-05 07:25:23
@Volatility誰勸阻?不是由PEP-8寫的,「對於序列(字符串,列表,元組),使用空序列是錯誤的事實。」 – 2013-05-05 08:23:08
@Anonymous:這個字符串是有效的Python代碼(我認爲這是有意的),所以我認爲OP基本上是問「我能把這個字符串當作代碼來評估它」,這就是'eval'的意思。 – Blender 2013-05-05 08:25:56