if config == 'H/2' or 'H' or '2H': pass
if config == 'H/2' or config == 'H' or config == '2H': pass
1
A
回答
8
>>> config = 'H/2'
>>> config == 'H/2' or 'H' or '2H'
True
>>> config == 'H/2' or config == 'H' or config == '2H'
True
>>> config = 'H'
>>> config == 'H/2' or 'H' or '2H'
'H'
>>> config == 'H/2' or config == 'H' or config == '2H'
True
>>> config = 'R'
>>> config == 'H/2' or 'H' or '2H'
'H'
>>> config == 'H/2' or config == 'H' or config == '2H'
False
2
好吧,既然pass
什麼也不做,想必config.__eq__
有沒有副作用,我想他們是等效的(在什麼也沒有發生)。
但是,如果將pass
替換爲別的東西,則會注意到第一個條件總是執行,第二個條件依賴於config
的值。
也許你還想寫
if config in ['H/2', 'H', '2H']:
# do stuff
pass
1
執行下列任:
if config in ('H/2', 'H', '2H'): # more efficient than a list
do_something()
或者(如果你這樣做的時候還是可能的設定值要大的多):
# once
config_h_set = set(('H/2', 'H', '2H'))
# later
if config in config_h_set:
do_something()
相關問題
- 1. 這些條款是否相同?
- 2. 這些Python表達式是否相互等價?
- 3. 這些JS條件語句在功能上是否相同?
- 4. 這兩個代碼是否相等?
- 5. 這是if語句是否相等?
- 6. 這些SQL語句是否相同?
- 7. 這些在javascript中定義函數的方式是否相等?
- 8. 這些代碼行在某種意義上是否相等?
- 9. 這些功能是否等同?
- 10. 這兩個uml箭頭是否相等?
- 11. 這兩個表達式是否相等
- 12. 這些jQuery表達式是否相同?
- 13. 這些JQuery調用是否相同?
- 14. 這些查詢是否相同?
- 15. 這些cron表達式是否相同?
- 16. 這些對象是否相同?
- 17. 這些指針結構是否相同?
- 18. 這些SQL語句是否相同?
- 19. 這些查詢是否相同?
- 20. Git - 這些過程是否相同?
- 21. PHP:這些語句是否相同? (file_exists())
- 22. 這些sizeWithFont代碼是否相同?
- 23. Interlocked.CompareExchange是否相等?
- 24. 是否有更簡潔的方式來構造這些條件?
- 25. 爲什麼這些字符串不相等? (Python)
- 26. 這些數字爲什麼不相等?
- 27. 爲什麼這些值不相等?
- 28. 從/ usr/bin中刪除這些python文件是否安全?
- 29. 條件不相等聯接
- 30. 確定樹是否「相等」
號爲什麼問?你嘗試過嗎? – 2011-02-09 23:54:16
我試過了,它們看起來相當。它讓我感到驚訝。也許我的測試不夠徹底。 – thenickname 2011-02-09 23:55:08