簡単な例を見てください** 4 +5 = 9 。この例では、 4 と 5 はオペランドと呼ばれ、「 + **」は演算子と呼ばれます。
Python言語は、次のタイプの演算子をサポートしています。
次の仮想変数:** a = 10、b = 20 **:
演算子 | 説明 | 例 |
---|---|---|
演算子 | 説明 | 例 |
+ | 追加-2つのオブジェクトを追加 | a + b出力結果30 |
- | 減算-負の数値を取得するか、ある数値を別の数値から減算します | a-b結果を出力します-10 |
* | 乗算-2つの数値を乗算するか、数回繰り返された文字列を返します | a * bは結果200を出力します |
/ | Division-xをyで割った値 | b /出力結果2 |
% | Modulo-除算の残りを返します | b%aは結果0を出力します |
** | パワー-xをyパワーに戻します | a ** bは10の20乗で、出力は100000000000000000000 |
// | Round Divide-商の整数部分を返します(切り捨て) | >>> 9 // 2 4 >>> -9 // 2 -5 |
以下は、変数aが10で、変数bが20であると想定しています。
演算子 | 説明 | 例 |
---|---|---|
== | 等しい-オブジェクトが等しいかどうかを比較します | (a == b)はFalseを返します。 |
!= | 等しくない-2つのオブジェクトが等しくないかどうかを比較します | (a!= b)はtrueを返します。 |
<> | 等しくない-2つのオブジェクトが等しくないかどうかを比較します。 python3は廃止されました。 | (a <> b)はtrueを返します。この演算子は!=に似ています。 |
> | Greater than-xがyより大きいかどうかを返します | (a> b)はFalseを返します。 |
< | より小さい-xがyより小さいかどうかを返します。すべての比較演算子は、trueの場合は1を返し、falseの場合は0を返します。これは、それぞれ特殊変数TrueおよびFalseと同等です。 | (a <b)はtrueを返します。 |
>= | Greater than or equal to-xがy以上であるかどうかを返します。 | (a> = b)はFalseを返します。 |
<= | 以下-xがy以下であるかどうかを返します。 | (a <= b)はtrueを返します。 |
以下は、変数aが10で、変数bが20であると想定しています。
演算子 | 説明 | 例 |
---|---|---|
= | 単純な割り当て演算子 | c = a + bは、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のビットワイズ演算子の規則は次のとおりです。
a =00111100
b =00001101-----------------
a&b =00001100
a|b =00111101
a^b =00110001~a =11000011
演算子 | 説明 | 例 |
---|---|---|
& | ビット単位のAND演算子:操作に関係する2つの値、対応する2つのビットが両方とも1の場合、ビットの結果は1、それ以外の場合は0 | (a&b)出力結果は12、バイナリ解釈:0000 1100 |
ビット単位のOR演算子:対応する2つのバイナリビットの1つが1である限り、結果のビットは1です。 | ||
^ | ビット単位のXOR演算子:対応する2つのバイナリビットが異なる場合、結果は1 | (a ^ b)出力結果49、バイナリ解釈:0011 0001 |
~ | ビット単位の反転演算子:データの各バイナリビットを反転します。つまり、1を0に、0を1に変更します。 〜xは-x-1 | (〜a)に似ています。出力結果は-61、バイナリ解釈:1100 0011、符号付きバイナリ番号の補完形式です。 |
<< | 左シフト演算子:オペランドのすべてのバイナリビットが数ビット左にシフトされます。<<の右側の数字は移動するビット数を指定し、上位ビットは破棄され、下位ビットは0で埋められます。 | a << 2出力結果240、バイナリ解釈:1111 0000 |
>> | 右シフト演算子:「>>」の左側にあるオペランドのすべてのバイナリビットを数桁右にシフトします。>>の右側の数字は、移動する桁数を指定します | a >> 2出力結果は15、バイナリ解釈:0000 1111 |
**Python言語は論理演算子をサポートしています。以下では、変数aが10、bが20 **であると想定しています。
演算子 | 論理式 | 説明 | 例 |
---|---|---|---|
and | x and y | Boolean "and" -xがFalseの場合、xとyはFalseを返し、それ以外の場合はyの計算値を返します。 | (aおよびb)は20を返します。 |
or | xまたはy | Boolean "or" -xがゼロ以外の場合は、xの値を返します。それ以外の場合は、yの計算値を返します。 | (aまたはb)は10を返します。 |
not | not x | Boolean "not" -xがTrueの場合、Falseを返します。 xがFalseの場合、Trueを返します。 | not(aおよびb)はFalseを返します |
上記の演算子の一部に加えて、Pythonはメンバー演算子もサポートしています。テストインスタンスには、文字列、リスト、タプルなどの一連のメンバーが含まれています。
演算子 | 説明 | 例 |
---|---|---|
in | 指定された順序で値が見つかった場合はTrueを返し、それ以外の場合はFalseを返します。 yシーケンスの | x。xがyシーケンスの場合はTrueを返します。 |
not in | 指定された順序で値が見つからない場合はTrueを返し、それ以外の場合はFalseを返します。 | xはyシーケンスに含まれていません。xがyシーケンスに含まれていない場合は、Trueを返します。 |
次の例は、Pythonでのすべてのメンバー演算子の操作を示しています。
a =10
b =20
list =[1,2,3,4,5,20]if( a in list):print('変数aは指定されたリストにあります')else:print('変数aが指定されたリストにありません')if( b in list):print('変数bは指定されたリストにあります')else:print('変数bが指定されたリストにありません')
# 上記の例の出力:
# 変数aが指定されたリストにありません
# 変数bは指定されたリストにあります
**短絡演算子****および最初の式がfalseの場合、後で計算する必要はありません。この論理式はFalse **である必要があります。または、最初の式がTrueの場合、後で計算する必要はありません。 、この論理式はTrueである必要があります
ID演算子は、2つのオブジェクトのストレージユニットを比較するために使用されます。
演算子 | 説明 | 例 |
---|---|---|
is | isは、2つの識別子がオブジェクトを参照しているかどうかを判断することです | xはyであり、id(x)== id(y)と同様です。同じオブジェクトが参照されている場合は、Trueを返し、そうでない場合はFalseを返します |
is not | is notは、id(a)!= id(b)と同様に、2つの識別子が異なるオブジェクトを参照しているかどうかを判断することです | xはyではありません。参照が同じオブジェクトでない場合はTrueを返し、そうでない場合はFalseを返します。 |
次の表に、優先順位の高いものから低いものへのすべての演算子を示します。
オペレーター | 説明 |
---|---|
オペレーター | 説明 |
** | インデックス(最高の優先度) |
~ + - | ビットワイズフリップ、単一のプラス記号とマイナス記号(最後の2つのメソッドの名前は+ @と-@) |
* /%// | 乗算、除算、係数、除算 |
+ - | 加算と減算 |
>> << | 右シフト、左シフト演算子 |
& | ビット 'AND' |
^ | |
<= < > >= | 比較演算子 |
<> == != | 等しい演算子 |
= %= / = // =-= + = * = ** = | 割り当て演算子 |
is not | identity operator |
in not in | member operator |
notおよびor | 論理演算子 |
Recommended Posts