課程
/后端開發
/Python
/初識Python
s = set([('adam'or'Adam'),('bart'or'Bart')])
print 'adam' in s
print 'Bart' in s
這樣寫為什么不可以呢?
2015-06-28
源自:初識Python 6-7
正在回答
怎么樣都只會存一個值,存那個起決定性作用的值
怎么樣都只會存一個值,用’or‘或者’and‘都會存你個起決定作用的值
要解釋上述結果,又涉及到 and 和 or 運算的一條重要法則:短路計算。
1. 在計算 a and b 時,如果 a 是 False,則根據與運算法則,整個結果必定為 False,因此返回 a;如果 a 是 True,則整個計算結果必定取決與 b,因此返回 b。
2. 在計算 a or b 時,如果 a 是 True,則根據或運算法則,整個計算結果必定為 True,因此返回 a;如果 a 是 False,則整個計算結果必定取決于 b,因此返回 b。
所以Python解釋器在做布爾運算時,只要能提前確定計算結果,它就不會往后算了,直接返回結果。
直接給你這個解釋吧
是不是因為你用的or,只是表示說放置adam就可以了,因為adam表示非空,也就是非零,根據python的預算規則,后面的內容就不放置了。Bart也是這樣,所以or后面的就不放了。如果改成and,就會都放進去。不知道這個解答對不對
天才夏超2
舉報
學python入門視頻教程,讓你快速入門并能編寫簡單的Python程序
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-04-02
怎么樣都只會存一個值,存那個起決定性作用的值
2016-04-02
怎么樣都只會存一個值,用’or‘或者’and‘都會存你個起決定作用的值
2016-03-02
要解釋上述結果,又涉及到 and 和 or 運算的一條重要法則:短路計算。
1. 在計算 a and b 時,如果 a 是 False,則根據與運算法則,整個結果必定為 False,因此返回 a;如果 a 是 True,則整個計算結果必定取決與 b,因此返回 b。
2. 在計算 a or b 時,如果 a 是 True,則根據或運算法則,整個計算結果必定為 True,因此返回 a;如果 a 是 False,則整個計算結果必定取決于 b,因此返回 b。
所以Python解釋器在做布爾運算時,只要能提前確定計算結果,它就不會往后算了,直接返回結果。
直接給你這個解釋吧
2015-07-11
是不是因為你用的or,只是表示說放置adam就可以了,因為adam表示非空,也就是非零,根據python的預算規則,后面的內容就不放置了。Bart也是這樣,所以or后面的就不放了。如果改成and,就會都放進去。不知道這個解答對不對