Python 演算子
Python オペレーター
このチュートリアルでは、Python のさまざまなタイプの演算子、その構文、および例を使用した使用方法についてすべて学習します。
ビデオ:Python の演算子
Python の演算子とは?
演算子は、算術計算または論理計算を実行する Python の特殊な記号です。演算子が操作する値はオペランドと呼ばれます。
例:
>>> 2+3
5
ここで +
加算を行う演算子です。 2
と 3
オペランドと 5
です 操作の出力です。
算術演算子
算術演算子は、加算、減算、乗算などの数学演算を実行するために使用されます。
演算子 | 意味 | 例 |
---|---|---|
+ | 2 つのオペランドまたは単項プラスを追加 | x + y+ 2 |
- | 左オペランドまたは単項マイナスから右オペランドを引く | x - y- 2 |
* | 2 つのオペランドの乗算 | x * y |
/ | 左のオペランドを右のオペランドで除算します (結果は常に float になります) | x / y |
% | モジュラス - 左オペランドを右オペランドで割った余り | x % y (x/y の余り) |
// | 床割り算 - 数直線の左側に調整された整数になる割り算 | x // y |
** | 指数 - 左オペランドの右乗 | x**y (x の y 乗) |
例 1:Python の算術演算子
x = 15
y = 4
# Output: x + y = 19
print('x + y =',x+y)
# Output: x - y = 11
print('x - y =',x-y)
# Output: x * y = 60
print('x * y =',x*y)
# Output: x / y = 3.75
print('x / y =',x/y)
# Output: x // y = 3
print('x // y =',x//y)
# Output: x ** y = 50625
print('x ** y =',x**y)
出力
x + y = 19 x - y = 11 x * y = 60 x / y = 3.75 x // y = 3 x ** y = 50625
比較演算子
比較演算子は、値を比較するために使用されます。 True
のいずれかを返します または False
条件に応じて。
演算子 | 意味 | 例 |
---|---|---|
> | より大きい - 左のオペランドが右のオペランドより大きい場合に真 | x> y |
< | Less than - 左オペランドが右オペランドより小さい場合に真 | x |
== | 等しい - 両方のオペランドが等しい場合に真 | x ==y |
!= | 等しくない - オペランドが等しくない場合は真 | x !=y |
>= | より大きいか等しい - 左のオペランドが右より大きいか等しい場合に真 | x>=y |
<= | 以下 - 左のオペランドが右のオペランドより小さいか等しい場合に真 | x <=y |
例 2:Python の比較演算子
x = 10
y = 12
# Output: x > y is False
print('x > y is',x>y)
# Output: x < y is True
print('x < y is',x<y)
# Output: x == y is False
print('x == y is',x==y)
# Output: x != y is True
print('x != y is',x!=y)
# Output: x >= y is False
print('x >= y is',x>=y)
# Output: x <= y is True
print('x <= y is',x<=y)
出力
x > y is False x < y is True x == y is False x != y is True x >= y is False x <= y is True
論理演算子
論理演算子は and
です 、 or
、 not
演算子 | 意味 | 例 |
---|---|---|
そして | 両方のオペランドが true の場合は true | x と y |
または | オペランドのいずれかが true の場合は true | x または y |
ない | オペランドが false の場合は true (オペランドを補完する) | ない |
例 3:Python の論理演算子
x = True
y = False
print('x and y is',x and y)
print('x or y is',x or y)
print('not x is',not x)
出力
x and y is False x or y is True not x is False
これらの演算子の真理値表は次のとおりです。
ビット演算子
ビット演算子は、オペランドが 2 進数の文字列であるかのように作用します。それらは少しずつ動作するため、名前が付けられています。
たとえば、2 は 10
です。 バイナリで、7 は 111
です .
下の表: x としましょう =10 (0000 1010
バイナリ) および y =4 (0000 0100
バイナリ)
演算子 | 意味 | 例 |
---|---|---|
& | ビットごとの AND | x &y =0 (0000 0000 ) |
| | ビットごとの OR | x | y =14 (0000 1110 ) |
~ | ビットごとの NOT | ~x =-11 (1111 0101 ) |
^ | ビット単位の XOR | x ^ y =14 (0000 1110 ) |
>> | ビットごとの右シフト | x>> 2 =2 (0000 0010 ) |
<< | ビット単位の左シフト | x <<2 =40 (0010 1000 ) |
代入演算子
代入演算子は、変数に値を代入するために Python で使用されます。
a = 5
右側の値 5 を変数 a に代入する単純な代入演算子です
Python には a += 5
のようなさまざまな複合演算子があります。 これは変数に追加され、後で同じものを割り当てます。 a = a + 5
に相当します .
演算子 | 例 | 同等 |
---|---|---|
= | x =5 | x =5 |
+= | x +=5 | x =x + 5 |
-= | x -=5 | x =x - 5 |
*= | x *=5 | x =x * 5 |
/= | x /=5 | x =x / 5 |
%= | x %=5 | x =x % 5 |
//= | x //=5 | x =x // 5 |
**= | x **=5 | x =x ** 5 |
&= | x &=5 | x =x &5 |
|= | x |=5 | x =x | 5 |
^= | x ^=5 | x =x ^ 5 |
>>= | x>>=5 | x =x>> 5 |
<<= | x <<=5 | x =x <<5 |
特殊演算子
Python 言語には、恒等演算子やメンバーシップ演算子などの特別な種類の演算子が用意されています。以下に例を挙げて説明します。
アイデンティティ オペレータ
is
そして is not
は Python の恒等演算子です。これらは、2 つの値 (または変数) がメモリの同じ部分にあるかどうかを確認するために使用されます。等しい 2 つの変数は、それらが同一であることを意味しません。
演算子 | 意味 | 例 |
---|---|---|
は | オペランドが同一の場合は真 (同じオブジェクトを参照) | x は True |
ではない | オペランドが同一でない場合 (同じオブジェクトを参照しない場合) は真 | x は True ではありません |
例 4:Python の恒等演算子
x1 = 5
y1 = 5
x2 = 'Hello'
y2 = 'Hello'
x3 = [1,2,3]
y3 = [1,2,3]
# Output: False
print(x1 is not y1)
# Output: True
print(x2 is y2)
# Output: False
print(x3 is y3)
出力
False True False
ここで、x1 と y1 は同じ値の整数であるため、等しいだけでなく同一でもあります。 x2 の場合も同様です と y2 (文字列).
でも x3 と y3 リストです。それらは等しいですが、同一ではありません。これは、インタープリターがそれらをメモリ内で別々に配置するためです。ただし、それらは同じです。
メンバーシップ オペレーター
in
と not in
Python のメンバーシップ演算子です。これらは、値または変数がシーケンス (文字列、リスト、タプル、セット、辞書) 内にあるかどうかをテストするために使用されます。
辞書では、値ではなく、キーの存在のみをテストできます。
演算子 | 意味 | 例 |
---|---|---|
で | シーケンス内に値/変数が見つかった場合は true | 5 インチ |
不参加 | シーケンス内に値/変数が見つからない場合は真 | x にない 5 |
例 #5:Python のメンバーシップ演算子
x = 'Hello world'
y = {1:'a',2:'b'}
# Output: True
print('H' in x)
# Output: True
print('hello' not in x)
# Output: True
print(1 in y)
# Output: False
print('a' in y)
出力
True True True False
ここでは、'H'
x にあります しかし 'hello'
x には存在しません (Python では大文字と小文字が区別されることに注意してください)。同様に、1
キーと 'a'
です 辞書 y の値です .したがって、'a' in y
False
を返します .
Python