算術演算子(**)
これは数学における累乗演算を行い、xのn乗を求めます。例えば、以下のコードを見てください:
base = 3
exponent = 4
result = base ** exponent
print(result) # 81
baseのexponent乗を計算します。baseの値は3、exponentの値は4です。したがって3の4乗は81となり、resultの値は81になります。
整数型 比較演算子
| 演算子 | 説明 |
|---|---|
| == | 等しいかどうかを判断します |
| != | 等しくないかどうかを判断します |
| > | 左辺が右辺より大きいかどうかを判断します |
| = | 左辺が右辺以上かどうかを判断します |
| **) |
左辺が右辺より大きいかどうかを判断し、大きければTrue、大きくなければ(小さいまたは等しい場合)Falseを返します。例を見てください:
value1 = 5
value2 = 7
print(value1 > value2) # False
value1がvalue2より大きいかを判断します。value1の値は5、value2の値は7なので、value1はvalue2より小さいため、条件が成立せずFalseを返します。
value1 = 5
value2 = 5
print(value1 > value2) # False
value1の値は5、value2の値も5なので、value1はvalue2と等しいため、条件が成立せずFalseを返します。
value1 = 5
value2 = 3
print(value1 > value2) # True
value1の値は5、value2の値は3なので、value1はvalue2より大きいため、条件が成立してTrueを返します。
比較演算子(=)
左辺が右辺以上かどうかを判断し、以上であればTrue、以上でなければ(小さい場合)Falseを返します。例を見てください:
value1 = 7
value2 = 5
print(value1 >= value2) # True
value1がvalue2以上かを判断します。value1の値は7、value2の値は5なので、value1はvalue2より大きいため、条件が成立してTrueを返します。
value1 = 5
value2 = 5
print(value1 >= value2) # True
value1の値は5、value2の値も5なので、value1はvalue2と等しいため、条件が成立してTrueを返します。
value1 = 3
value2 = 5
print(value1 >= value2) # False
value1の値は3、value2の値は5なので、value1はvalue2より小さいため、条件が成立せずFalseを返します。
比較演算子(> 3の結果は3です。
整数型 同一性演算子
整数データのメモリアドレスが一致するかどうかを判断するために同一性演算子はあまり必要ありません。整数データは不変の特性を持っているため、2つの整数データの値が等しければ、そのメモリアドレスも同じになります。したがって、整数型では==と!=を使って同一性演算子の役割を完全に代替できますが、==と!=を同一性演算子と混同しないように注意してください。==と!=は値が等しいかどうかを判断し、同一性演算子はメモリアドレスが同じかどうかを判断します。可変データ型の場合、値が等しくてもメモリアドレスが異なることがあります。
| 演算子 | 説明 |
|---|---|
| is | 左右のメモリアドレスが同じかどうかを判断し、同じであればTrue、異なればFalseを返します |
| is not | 左右のメモリアドレスが異なるかどうかを判断し、異なればTrue、同じであればFalseを返します |
同一性演算子(is)
isは左右のオブジェクトのメモリアドレスが同じかどうかを判断し、同じであればTrue、異なればFalseを返します。例を見てください:
x = 100
y = 100
print(id(x)) # メモリアドレス:140733625866000
print(id(y)) # メモリアドレス:140733625866000
print(x is y) # True
xとyはどちらも整数100です。整数は不変のデータ型であるため、同じ値の整数データは必ず同じ場所から取得されます。id関数を使ってPythonの任意のオブジェクトのメモリアドレスを確認できます。id関数を使用すると、xとyのメモリアドレスが実際に同じであることがわかります。xとyが表す整数データ100はメモリの同じ場所から取得されているため、x is yはTrueを返します。
x = 100
y = 200
print(id(x)) # メモリアドレス:140733625866000
print(id(y)) # メモリアドレス:140733625866032
print(x is y) # False
xは整数100、yは整数200です。整数データ100と200はメモリの異なる場所に保存されているため、x is yはFalseを返します。