Pythonの論理演算子で得られる結果に少し混乱しています。私は初心者で、数冊の本を使って勉強していますが、私が望むほど詳細に説明していません。
ここに私自身のコードがあります:
five = 5
two = 2
print five and two
>> 2
2つの変数を出力しているようです。
five = 5
two = 2
zero = 0
print five and two and zero
そこで、別の可変整数を追加しました。次に、印刷して次の出力を取得しました。
>> 0
バックグラウンドでPython?.
Pythonブール演算子は、True/Falseではなく、最後に評価された値を返します。 docs にはこれについての良い説明があります:
表現
x and y
最初にx
を評価します;x
がfalse
の場合、その値が返されます。それ以外の場合、y
が評価され、結果の値が返されます。
ちょっとした補足として:(コメントに対して十分な担当者がいません)複数の変数を出力するためにAND演算子は必要ありません。 print five, two
の代わりにprint five AND two
などのコンマで変数名を単純に区切ることができます。エスケープを使用して、print "the var five is equal to: %s" %five
などの変数を印刷行に追加することもできます。詳細はこちら: http://docs.python.org/2/library/re.html#simulating-scanf
他の人が言ったように、ANDは論理演算子であり、次のような複数の条件をまとめるために使用されます
if (five == 5) AND (two == 2):
print five, two
ブールAnd演算子は、評価される式がfalse
の場合、最初の値5
を返し、評価される式がtrue
の場合、2番目の値2
を返します。 5
と2
は両方とも実数値、非偽値、および非NULL値であるため、式は真と評価されます。
両方の変数を出力したい場合は、それらを文字列に連結して出力できます。
five = 5
two = 2
print five + " and " + two
またはそれらの合計を印刷するには、使用できます
print five + two
この document は、論理ブール演算子の使用方法を説明しています。
PythonのAND
は、たとえばJavaの&&
と同等です。これは英語のを意味するものではありません。 AND
は論理演算子です。 5つのホールド5と2つのホールド2を想定します。Pythonドキュメントから:式xとyは最初にxを評価します。 xがfalseの場合、その値が返されます。それ以外の場合、yが評価され、結果の値が返されます。基本的に、それはあなたのケースの最後の整数を評価します。
if (five and two):
... print "True"
... else:
... print "False"
ANDは、算術演算子ではなく、特定のケースのロジックをテストする論理演算子です。 5と2に対して7のような結果を取得する場合は、2つの整数を追加することを意味する「+」を使用する必要があります。下記参照:
>>> five = 5
>>> two = 2
>>> print five + two
7
0
と9
を試してください。
0
の値がfalseであるため、結果は0
です。 and
演算子の左側のオペランドはFalseであるため、式全体がFalseであり、0
を返します
In Pythonゼロ以外の整数値はすべてtrue、ゼロはfalseです。
OPの値は両方ともゼロではありません。
AND演算子は左から右にテストし、
withおよび、すべての値がTrueの場合、最後に評価された値を返します。いずれかの値がfalseの場合、最初の値を返します。
両方がゼロ以外であるため、両方とも真であるため、最後の値が返されます