varA = 1
varB = 2
代碼瓦特/正確的結果:的Python - 語法與類型布爾表達式或者
if type(varA) == type('a') or type(varB) == type('a'):
print "string involved (either varA or varB is a string)"
else:
print "varA and varB are not strings"
代碼瓦特/不正確的結果:
if type(varA) or type(varB) == type('a'):
print "string involved (either varA or varB is a string)"
else:
print "varA and varB are not strings"
到底爲什麼做的第二組代碼不會返回預期結果(即「varA和varB不是字符串」)? Python對第二套代碼做的一步一步分解是什麼?我發現一個類似的問題已經得到解答,但並沒有完全理解這個解釋。 Python: If-else statements。
適當的形式將是__type(瓦拉)是str__ – volcano
可能重複的[如果x或y或z == blah](http://stackoverflow.com/questions/15112125/if-x-or-y-or-z-blah) –
@volcano:更好的形式是'isinstance(varA, str)',以允許子類。 –