Pythonの基本的な演算子

[ 参照リンク:Pythonの基本演算子](https://www.imangodoc.com/180.html)

記事ディレクトリ

1算術演算子2ビット演算子3比較演算子4割り当て演算子5識別演算子6メンバー演算子7論理演算子

今日はPythonの7つの主要な演算子の意味を要約します。この記事は演算子の優先度に従って大まかにソートされています。カタログを見ると各演算子の優先度を確認できます~~

1 算術演算子

インデックス**が最も優先度が高く、次に乗算*、除算/、丸め//、残りの%、最後に+を加算して-を減算します。

ここでは、/、//、%に焦点を当てます。他の演算子は非常に単純なので、これ以上説明する必要はありません。

1 )スラッシュ/、除算、2つのintの除算も、小数を保持します。

3 /2 = 1.5

10 /3 = 3.3333333333333335

4 /2 = 2.0

2 )2つのスラッシュ//除算の結果を切り捨てます。 //の両側に浮動小数点型がある場合、結果の丸めに基づいて.0が保持されます。

3 //2 = 1

4 //2 = 2

4 //2.0 = 2.0

3 )パーセント符号%、係数を取り、分割の残りを返します。 %の両側は整数でなければなりません。負の整数がある場合、残りの符号は%の右側の符号と同じです。

5 %3 = 2

3 %(-2)= -1#符号は-2と一致しているため、-1になります。

4 %2 = 0

4 %2.0 = 0.0

2 ビット演算子

ビット単位の演算子はバイナリに基づいて計算されます。バイナリでは、1は通常True、0は通常Falseです。

1 )ビット単位の論理演算子:and&、または|、排他的または^、否定〜。

&:ビット単位のAND演算子、2つのバイナリ番号の対応するビットは1、このビットの結果は1、それ以外の場合は0; |:ビット単位のOR演算子、2つのバイナリ番号の対応するビットの1つが1の場合結果ビットは1です。^:XOR演算子、2つのバイナリ番号の対応するビットが異なる場合、結果は1です。〜:否定演算子、バイナリは反転されます。つまり、1は0に反転され、0は1.1。

2 )シフト演算子:左シフト<<、右シフト>>。

<< 1ビットの各シフトは2を掛けることに相当します。>>の各シフトは2で割ることに相当します。分割できない場合は切り捨てられます。

これを見ると、ビットワイズ演算子が何を話しているのか理解できないかもしれません...これを明確にするために、別の記事を書きます。スペースに限りがあるため、今回は詳しく説明しません〜

とりあえずそんなことがあるので、次回は穴を埋めてください〜

3 比較演算子

最も基本的なもの:<未満、>より大きい、==に等しい、<=以下、> =以上、!=に等しくない。これらは一目で明らかであり、説明する必要はありません。

4 割り当て演算子

1 )=に等しい、それは非常に簡単です。左側にラベルを付けて右側に値を配置するだけです。 2)+ =、つまり、左右に元の値を追加し、左側の値を追加された新しい値に更新します。たとえば、a + = 1はa = a + 1と同等ですが、a = a +1はa + = 1ほど効率的ではありません。 3)同様に、-=、* =、/ =、%=、** =、// =があります。

5 アイデンティティ演算子

ID演算子は、あり、ありません。ここで、の違いについて説明します。=、==これは初心者が混乱しやすいものです。

1 )isと==について話させてください

は、2つのオブジェクトのID値が等しいかどうか、つまり、同じメモリアドレスを指しているかどうかを比較します。==は、2つのオブジェクトの内容が等しいかどうか、つまり、値が等しいかどうかを比較します。

a = "Python"

b = a

b == a

True

id(a)

2974848979888 # aのアドレス

id(b)

2974848979888 # bのアドレスはaと同じです

b is a

True

上記の例では、bとaのメモリアドレスは同じであり、同じメモリブロックを指しています。直接割り当ては値への参照であるため、isと==の結果は両方ともTrueです。 bと異なるメモリを指す場合、bの結果はFalseであり、b == aの結果はTrueです。

a = [1,2,3]

b = [1,2,3]

print(a == b)

True

id(a)

2974887936648

id(b)

2974887936456 # 2つのリストaとbの要素は同じですが、アドレスは異なります

print(a is b)

False

最後に注意すべきことは、Pythonはすべての整数オブジェクトではなく、小さい整数オブジェクト(範囲[-5、256])のみをキャッシュすることです。たとえば、小さな整数オブジェクト[-5,256]のみが再利用のためにキャッシュに入れられます。

a = 1

b = 1

print(a == b)

True

print(a is b)

True

a = 257

b = 257

print(a == b)

True

print(a is b)

False

ただし、この状況はコマンドラインでのみ実行できます。Pycharmで実行した場合、またはファイルとして保存した場合、結果は異なります。これは、インタープリターがいくつかの最適化を行ったためです。

2 )=と==を見てください

これら2つは区別しやすいです。

= の意味は、a = 3などの変数に値を割り当て、aに値3を割り当てることです。==は、それらが等しいかどうかを判断し、TrueまたはFalseを返すことです。たとえば、1 == 1の場合、それらが等しい場合はTrueを返し、1 == 2の場合、それらが等しくない場合はFalseを返します。

a = [1,2]

b = [1,2]

c = a

print(a == b)

True

print(a is b)

False

print(a is c)

True

3 )!=ではありません

二重等符号==および不等符号!=それらが等しいかどうかを判断します;それらが同じオブジェクトであるかどうかを判断します。

a = [1,2,3]

b = [1,2,3]

print(a == b)

True

print(a != b)

False

print(a is b)

False

print(a is not b)

True

6 メンバーオペレーター

inとnotinは、要素が現在のオブジェクトにあるかどうかを判別するために使用されます

print('ab' in 'abc')

True

print(a in ['a','b','c'])

False

print('a' in ['a','b','c'])

True

print(['a','b'] in ['a','b','c'])

False

print(['a','b'] not in ['a','b','c'])

True

7 論理演算子

優先順位:>および>または。

との両側がTrueの場合はTrueを返し、そうでない場合はFalseを返します。両側がFalseの場合はFalseを返し、それ以外の場合はTrueを返します。

短絡現象:

前の式とがFalseの場合、次の式は実行されません。前の式またはがTrueの場合、次の式は実行されません。

print(1 > 2 and  3 < 2 or not 4 > 5)

True

上記の例を分解します。1> 2および3 <2または4> 5ではありません。

比較演算子の優先度が論理演算子よりも高いため、最初のステップはFalseとFalseまたはFalse以外に変換されます。notの優先度がandより大きいため、FalseとFalseまたはTrueに変換されます。andの優先度がorより大きいため、またはに変換されます。 FalseまたはTrue;最終結果はTrueです。

Recommended Posts

Pythonの基本的な演算子
Pythonの基本構文(1)
Python3の基本構文
Pythonの基本的な要約
03.Pythonエントリの演算子
Pythonの基本的な構文ジェネレータ
Pythonの基本的な描画チュートリアル(1)
Python関数の基礎学習
python_クローラーの基本的な学習
Pythonの基本的なデータタイプ
Pythonの基本構文
Pythonの基礎知識(1)
Pythonの基本的なデータタイプ
Pythonの基本的な構文の反復
Python基礎知識質問バンク
Pythonの基本的な構文リストの作成
Python入門ノート[基本的な文法(上)]
Pythonエントリーノート[基本的な文法(下記)]
Pythonファイル操作の基本的なプロセス分析
Pythonクローラーの基本的な知識ポイントの仕上げ
本当のゼロの基本的なPython開発ウェブ
Pythonの基本的な構文と数値タイプ
Pythonタートルライブラリ実装の基本的な分析
Pythonマルチスレッド
Python CookBook
Python FAQ
Python3辞書
Python3モジュール
python(you-get)
Python文字列
Pythonの基本
Python記述子
Python exec
Pythonノート
CentOS + Python3.6 +
Python Advanced(1)
Pythonデコレータ
Python IO
Pythonマルチスレッド
Pythonの基本的な実際の戦闘-年齢ゲームを推測する
Python3リスト
Pythonマルチタスク-日常
pythonの紹介
07.Python3関数
Pythonの基本3
Pythonマルチタスクスレッド
python sys.stdout
Pythonエントリ-3
Centos 7.5 python3.6
pythonキューキュー
Pythonの基本4
Pythonの基本5