演算子とは何ですか?
この章では主にPythonの演算子について説明します。簡単な例 4 +5 = 9 を見てみましょう。
この例では、4と5をオペランドと呼び、「+」を演算子と呼びます。
Python 言語は次の種類の演算子をサポートしています:
算術演算子
比較 (関係) 演算子
代入演算子
論理演算子
賢いオペレーター
メンバーオペレーター
恒等演算子
演算子の優先順位
Pythonの演算子を一つ一つ学んでいきましょう。
Python 算術演算子
以下では、変数 a が 10、変数 b が 20 であると仮定しています:
Operator | Description | Example |
---|
+ | Add - 2 つのオブジェクトを追加する | + b 出力結果 30 |
- | マイナス - 負の数、または 1 つの数値から別の数値を引いたものを取得します | a - b 出力結果 -10 |
* | 乗算 - 2 つの数値を乗算する、または次の文字列を返します。を数回繰り返す | a * b 出力結果は 200 |
/ | division - x を y で割る | b / a 出力結果は 2 |
% | modulo - 剰余を返す除算の | b % 出力結果 0 |
** | power - | の y 乗を返します 整数除算 - 商の整数部分を返します |
9//2 出力結果 4, 9.0/ /2.0 出力結果 4.0 | 次の例は、Python でのすべての算術演算子の操作を示しています: #!/usr/bin/python # -*-coding: UTF-8 -*-
a = 21 b = 10 c = 0
c = a + b print "1 - c の値は次のとおりです: ", c
c = a - b print "2 - c の値は次のとおりです: ", c
c = a * b print " 3 - c の値は次のとおりです: ", c
c = a / b print "4 - c の値は次のとおりです: ", c
c = a % b print "5 - の値c は: ", c
# 変数 a、b、c a = 2 b = 3 c = a**b print "6 - c の値は: ", c
a = 10 b = 5 c = a//b print "7 - c の値は: ", c 試してみる» 上記の出力結果の例: 1 - c の値は: 31 2 - c の値は: 11 3 - c の値は: 210 4 - c の値は: 2 5 - c の値は: 1 6 - c の値は: 8 7 - c の値は 2
Python 比較演算子 以下では、変数 a が 10、変数 b が 20 であると仮定しています。 ==等しい - オブジェクトが等しいと比較します(a == b) False を返します。 | | != | 等しくない - 2 つのオブジェクトが等しくないかどうかを比較します(a != b) は true を返します。 | | <> | 等しくない - 2 つのオブジェクトが等しくないかどうかを比較します (a <> b) は true を返します。この演算子は != に似ています。 | | > | より大きい - x が y より大きいかどうかを返します(a > b) False を返します。 | | < | 未満 - x が y より小さいかどうかを返します。すべての比較演算子は、true の場合は 1 を返し、false の場合は 0 を返します。これらは、それぞれ特殊変数 True と False に相当します。これらの変数名の大文字化に注意してください。 (a < b) は true を返します。 | | >= | 以上 - x が y 以上かどうかを返します。 (a >= b) は False を返します。 | | <= | 以下 - x が y 以下かどうかを返します。 (a <= b) は true を返します。 | | 次の例は、Python のすべての比較演算子の操作を示しています: #!/usr/bin/python # -*-coding: UTF-8 -*-
a = 21 b = 10 c = 0
if ( a == b ): print "1 - a は b に等しい" else: print "1 - a は b に等しくない"
if ( a != b ): print " 2 - a は b と等しくない" else: print "2 - a は b と等しい"
if ( a <> b ): print "3 - a は b と等しくない" else: print "3 - a は b に等しい"
if ( a < b ): print "4 - a は b より小さい" else: 4 - a は b 以上である " if ( a > b ): print "5 - a は b より大きい" else: print "5 - a b より小さいか等しい"
# 変数 a と b の値を変更します a = 5; b = 20; if ( a <= b ): print "6 - a b 以下" else: print "6 - a は b より大きい"
if ( b >= a ): print "7 - b is great or等しい to b" else: print "7 - b is less than b"
上記の例の出力結果:
1 - a は b に等しくありません2 - a は b と等しくない 3 - a は b と等しくない 4 - a は b 以上 5 - a は b より大きい 6 - a は b 7 以下- b は b 以上です pypython割り当てオペレーター
変数aが10、変数Bが20であると仮定しています。 a + bの演算結果をcに代入+=追加代入演算子 | c += aはc = c + a | | -= 減算代入演算子 | c -と同等= a は c = c - a | | *= 乗算代入演算子 | c *= a は c = c * a | | /= 除算代入演算子 | c / = a は c = c / a | | %= モジュロ代入演算子 | c %= a は c = c と同等 % a | | **= べき乗代入演算子 | c **= a は c = c と同等 ** a | | //= 整数除算代入演算子 | c //= a は c = c と同等 / / a | | 次の例は、Python でのすべての代入演算子の操作を示しています: #!/usr/bin/python # -*-coding: UTF-8 -*-
a = 21 b = 10 c = 0
c = a + b print "1 - c の値は次のとおりです: ", c
c += a print "2 - c の値は次のとおりです: ", c
c *= a print "3 - c の値は次のとおりです: ", c
c /= a print "4 - c の値は次のとおりです: ", c
c = 2 c %= a print "5 - の値c は: ", c
c **= a print "6 - c の値は:", c
c //= a print "7 - c の値は: ", c 上記の例の出力結果: 1 - c の値: 31 2 - c の値: 52 3 - c の値: 1092 4 - c の値: 52 5 - c の値は次のとおりです: 2 6 - c の値は次のとおりです: 2097152 7 - c の値は次のとおりです: 99864
Python ビット演算子 ビット演算子は、数値をバイナリとして扱い、計算を実行します。 Python のビット単位の演算規則は次のとおりです: 以下の表では、変数 a は 60、b は 13 です。 演算子 | 説明 | 例 |
---|
& | ビット単位のAND演算子: 演算に参加する2つの値、対応する両方のビットが1の場合、そのビットの結果は1、それ以外の場合は、は 0 | (a & b) です。出力結果は 12 です。 バイナリ解釈: 0000 1100 | | | ビットごとの OR 演算子: 対応する 2 つのバイナリ ビットの 1 つが 1 である限り、結果のビットは次のようになります。 1. | (a | b) 出力結果は 61、バイナリ解釈: 0011 1101 | ^ | ビットごとの XOR 演算子: 対応する 2 つのバイナリ ビットが異なる場合、結果は 1 になります | (a ^ b) 出力結果 49、バイナリ解釈: 0011 0001 | ~ | ビットごとの否定演算子: データの各バイナリ ビットを否定します。つまり、1 を 0 に変更し、0 を 1 に変更します | (~a ) 出力結果は次のとおりです。 -61、バイナリ解釈: 1100 0011、符号付き 2 進数の 2 の補数形式。 | < 2 数桁、「>>」の右側の数字は移動する桁数を指定します | a >> 2 出力結果は 15、バイナリ解釈: 0000 1111 | | 次の例は、Python のすべてのビット演算子の操作を示しています: #!/usr/bin/python # -*-coding: UTF-8 -*-
a = 60 # 60 = 0011 1100 b = 13 # 61 = 0011 1101 print "2 - c の値は次のとおりです。", c
c = a ^ b; # 49 = 0011 0001 print "3 - c の値は次のとおりです: ", c
c = ~a; # -61 = 1100 0011 print "4 - c の値は次のとおりです: ", c
c = a << 2; # 240 = 1111 0000 print "5 - c の値は: ", c
c = a > > 2; 3 - c の値は: 49 4 - c の値は: -61 5 - c の値は: 240 6 - c の値は 15 です:
Python 論理演算子 Python 言語サポート 論理演算子。以下は変数 a が 10、b が 20 であることを前提としています: インスタンスandxとyブール型「AND」 - xとyは、xがFalseの場合はFalseを返し、それ以外の場合はyの計算値を返します。 | (a と b) は 20 を返します。 | | or | x or yBoolean "or" - x が 0 以外の場合は x の値を返し、それ以外の場合は y の計算値を返します。 | (a または b) は 10 を返します。 | | not | not xブール型「not」 - x が True の場合、False を返します。 x が False の場合、True を返します。 | not(a and b) は False を返します | | 上記の例の出力結果: #!/usr/bin/python # -*-coding: UTF-8 -*-
a = 10 b = 20
if (a and b): print "1 - 変数 a と b は両方とも true" else: print "1 - 変数 a または b のどちらかが true ではない"
if (a or b): print "2 - 変数 a と b は両方とも true true 、または変数の 1 つが true" else: print "2 - 変数 a も b も true ではありません"
# 変数 a の値を変更します a = 0 if (a and b): print " 3 - 変数 a と b は両方とも true" else: print "3 - 変数 a または b のどちらかが true ではない"
if (a または b): print "4 - 変数 a と b が両方とも true、またはそのうちの 1 つ 変数が true です" else: print "4 - 変数 a も b も true ではありません"
if not(a and b): print "5 - 変数 a と b が両方とも false、または次のいずれかです変数は false false" else: print "5 - 変数 a と b は両方とも true" 上記の出力結果の例: 1 - 変数 a と b は両方とも true 2 - 変数 a と b両方とも true であるか、変数のいずれかが true です 3 - 変数 a と b の一方が true ではありません 4 - 変数 a と b が両方とも true、または変数の一方が true 5 - 変数 a と変数 b が true b が両方とも false であるか、変数の 1 つが false です
Python メンバー演算子 上記の演算子の一部に加えて、Python は文字列、リスト、タプルなどの一連のメンバーもサポートします。 Operator | Description | Instance |
---|
in | 指定されたシーケンス内で値が見つかった場合は True を返し、それ以外の場合は False を返します。 | x は y シーケンス内にあり、x が y シーケンス内にある場合は True を返します。 | not in | 値が指定されたシーケンス内に見つからない場合は True を返し、それ以外の場合は False を返します。 | x は y シーケンスにありません。x が y シーケンスにない場合は True を返します。 |
次の例は、Python でのすべてのメンバー演算子の操作を示しています: #!/usr/bin/python # -*- コーディング: UTF-8 -*-
a = 10 b = 20 list = [1, 2, 3, 4, 5];
if (リスト内の a): print "1 - 指定されたリスト list 内の変数 a" else: print "1 - 変数 a 含まれていない指定されたリスト list "
if ( b not in list ): print "2 - 変数 b は指定されたリストにありません list " else: print "2 - 変数 b は list の指定されたリストにあります "
# 変数 a の値を変更します a = 2 if ( a in list ): print "3 - 指定されたリストの変数 a list " else: print "3 - 変数 a 指定されたリスト list " 上記の出力結果の例: 1 - 変数 a は指定されたリスト list にありません 2 - 変数 b は指定されたリスト list にありません 3 - 変数 a 指定されたリスト list にあります
Python ID演算子 ID 演算子は、2 つのオブジェクトの保存場所を比較するために使用されます 演算子 | 説明 | インスタンス |
---|
is | は、2 つの識別子が 1 つのオブジェクトを参照するかどうかを判断するために使用されます | 。 x が y である場合、is は結果 1 を返します。 | is not | is not は、2 つの識別子が参照されているかどうかを判断するために使用されます。異なるオブジェクト | x が y ではない場合、id(x) が id(y) と等しくない場合、is not は結果 1 | を返します。次の例は、Python でのすべての ID 演算子の操作を示しています: #!/usr/bin/python # -*-coding: UTF-8 -*-
a = 20 b = 20
if ( a は b ): print "1 - a と b は同じ ID を持ちます" else: print "1 - a と b は同じ ID を持ちません"
if ( id(a) == id(b ) ): Print "2 - a と b は同じ ID を持ちます" else: print "2 - a と b は同じ ID を持ちません"
# 変数 b の値を変更します b = 30 if ( a は b): print "3 - a と b は同じアイデンティティを持っています" else: print "3 - a と b は同じアイデンティティを持っていません"
if (a が b ではない): print "4 - a と b は同じ識別子を持っていません " else: print "4 - a と b は同じ識別子を持っています" 上記の例の出力結果: 1 - a と b は同じ識別子を持っています 2 - a と b は同じ識別子を持ちます 3 - a と b は同じ識別子を持ちません 4 - a と b は同じ識別子を持ちません
Python 演算子の優先順位 次の表は、以下のすべての演算子のリストです。最高から最低の優先順位: 操作のシンボル | 説明 |
---|
** | インデックス (最優先) | ~ + - | ビットごとの反転、単項プラス記号とマイナス記号 (最後の 2 つのメソッド) +@ と -@ ) | * / % // | 乗算、除算、剰余、整数除算 | + - | 加算減算 | >> | 右シフト、左シフト演算子 | & | bit 'AND' | ^ | | bit演算子 | <= < >= | 比較演算子 | < > ; == != | 等価演算子 | = %= /= //= -= += *= **= | 代入演算子 | は | 同一性演算子 | in not in | メンバー演算子 | not or and | 論理演算子 | 次の例は、Python でのすべての演算子の優先順位の操作を示しています: #!/usr/bin/python # -*- コーディング: UTF-8 -*-
a = 20 b = 10 c = 15 d = 5 e = 0
e = (a + b) * c / d #(30 * 15) / 5 print "(a + b) * c / d 演算結果は次のようになります: ", e e = ((a + b) * c) / d # (30 * 15) / 5 print "((a + b) * c) / d 演算結果は次のようになります: ", e
e = ( a + b) * (c / d); # (30) * (15/5) print "(a + b) * (c / d) 演算結果は次のようになります: ", e
e = a + ( b * c ) / d; d の演算結果は次のとおりです: 90 ((a + b) * c) / d 演算結果は次のとおりです: 90 (a + b) * (c / d) 演算結果は次のとおりです。 90 a + (b * c) / d 演算の結果は次のようになります: 50
|
| |