2017-06-21 7 views
-5

私はPythonでいくつかの操作を試みていますが、私はそれの基本的な概念を理解していません。私はあなたのために少し厳しいかもしれない様々な組み合わせを試してみましたが、私の目的は、以下のコードを見つけるPython.Pleaseに内部的に働いているかだった:Pythonの理解と、または操作

>>> 2 or 3 
2 
>>> 3 or 2 
3 
>>> 3 or 3 
3 
>>> 3 or -3 
3 
>>> -3 or 3 
-3 
>>> 0 or 3 
3 
>>> 0 or -9 
-9 
>>> 3 and 4 
4 
>>> 3 and 6 
6 

>>> 0 or None 
>>> 0 and None 
0 
>>> None and 0 
>>> None or 0 
0 


>>> 5 and 2 
2 
>>> -3 and 6 
6 
>>> 3 and -6 
-6 
>>> 3 and 0 
0 
>>> 0 and 0 
0 
>>> 0 and 0.0 
0 
>>> 0.0 and 0 
0.0 
>>> 0.0 or 0 
0 
>>> 0 or 0.0 
0.0 
>>> [] or 3 
3 
>>> 3 or [] 
3 
>>> 0 or [] 
[] 
>>> [] or 0 
0 
>>> [] and 3 
[] 
>>> 3 and [] 
[] 
>>> [] or {} 
{} 
>>> [] and {} 
[] 
>>> [] and {} 
[] 
>>> {} or [] 
[] 
>>> {} and [] 
{} 
+3

あなたの質問は何ですか? – VMRuiz

+0

将来の質問についてはhttps://stackoverflow.com/help/how-to-askを参照してください –

+0

この質問には疑問はありません。あなたは私たちに何を期待していますか?論理演算子の仕組みについての完全な説明を投稿してほしいですか?すぐに利用できるものはたくさんあります。私はインターネットがそれらの他の1つを持つことから恩恵を受けるのではないかと疑う。 –

答えて

0

これは実際には非常によく、ほとんどのチュートリアルで説明しています。一般的な規則は:a and bはが真ならばb、そうでなければaです。 a or baの場合aが真の場合はbです。今、FalseNone()[]{}''0および0.0はすべて偽とみなされます。事実上すべてが真実です。

0

これは短絡アクションである:

  • a and b
    • aFalseされる - >aはすぐ
    • aは、bTrueで返さFalseされる - >bはすぐ
    • を返さ両方ともTrue - >最後のオブジェクトが返される(b
  • a or b
    • aTrueある - >a直ちに
    • a戻されるbTrueで、Falseある - >b
    • 返されますFalse - >最後のオブジェクトが返されました(b

ここで、値は「偽」とみなされます。bool(value) == False、例えば:

  • False自体
  • 数ゼロ(0, 0.0, 0 + 0j
  • 空の容器([], tuple(), "", {}, set()
  • None
  • __bool__方法False

を返す何か他の人はよく考えている真実を悟ります。

0

andorは、ブール値、つまりTrueまたはFalseを生成すると予想していると思います。しかし、彼らはしません。 orは、それがTrueと評価される場合、第1オペランドを返します。そうでなければ、第2オペランドを返します。 andは、第1オペランドがFalseに評価される場合はそれを返します。そうでなければ、第2オペランドを返します。評価のために、Falseとして次のようにカウントします。ゼロの整数と浮動小数点数、空の文字列、空のタプル、リスト、および辞書です。それ以外の場合は、たとえば"0"など、Trueとカウントされます。

関連する問題