回答編集履歴
2
追記
answer
CHANGED
@@ -3,4 +3,8 @@
|
|
3
3
|
(念の為参考リンク)
|
4
4
|
[Python の or と and 演算子の罠 - Qiita](https://qiita.com/keisuke-nakata/items/e0598b2c13807f102469)
|
5
5
|
|
6
|
+
途中で評価を切り上げるのは短絡評価と言って、様々なプログラミング言語で用いられている最適化です。`or`の場合の評価が`'Trondheim'`で終わるのは、この先を見ても見なくても全体の値が真であることが確定するからです。
|
7
|
+
|
8
|
+
`and`の場合、途中で偽の値が出てきたら全体の値が偽であることは確定して切り上げることができます。一方で、真が続く場合は途中で確定させることはできません。最後の一個が偽かもしれないからです。なので、最後まで見てぜんぶが真であることを確かめてから切り上げます。
|
9
|
+
|
6
|
-
`and`
|
10
|
+
つまり、`and`と`or`で短絡評価の仕方が少し異なります。
|
1
追記
answer
CHANGED
@@ -1,3 +1,6 @@
|
|
1
1
|
`or`については理解しているようなので、pythonの`and`や`or`は基本的に`bool`型オブジェクトを返す訳ではなくオペランドを返すというということは分かっているのだと思います。
|
2
2
|
|
3
|
+
(念の為参考リンク)
|
3
|
-
[Python の or と and 演算子の罠
|
4
|
+
[Python の or と and 演算子の罠 - Qiita](https://qiita.com/keisuke-nakata/items/e0598b2c13807f102469)
|
5
|
+
|
6
|
+
`and`は
|