回答
對於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. C++字符串輸入作爲if/else語句條件
- 3. 在if語句中使用字符串作爲變量子句
- 4. 使用字符串作爲If語句(VBA)的一部分
- 5. Python字符串或if語句問題
- 6. Python條件語句和if語句
- 7. 使用字符串/文本輸入字段爲JavaScript一個條件if語句
- 8. 在字典中使用一個字符串作爲If語句(Python 3)
- 9. 使用IF語句連接字符串
- 10. 使用if語句比較字符串
- 11. 在使用字符串if語句
- 12. 使用字符串值作爲if/else語句表達
- 13. console.log作爲if語句中的條件
- 14. 使用If/Else語句將字符串轉換爲字符
- 15. if語句中if語句的條件
- 16. 包括多個字符串作爲條件在PHP的if else語句
- 17. 如何檢索字符串值作爲java中if語句的條件?
- 18. 評估字符串的值作爲條件並執行IF語句
- 19. 多條件if語句字符串關鍵字:in,不在
- 20. PLSQL中的IF語句中的條件字符串
- 21. Python字符串字節與IF條件
- 22. Python條件和If語句語法
- 23. 對於字符串中if語句的PHP多個條件
- 24. Python的'if'語句 - 如果在[字符串] =='字符串' - 不工作?
- 25. 將Python字符串解釋爲條件語句?
- 26. 我可以使用事件作爲if語句條件
- 27. Python的條件if語句失敗
- 28. Python中的條件if語句
- 29. IF語句條件
- 30. 根據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