python演算子

メモの内容:演算子

**メモの日付:2017-10-21 **


演算子

Pythonは、次のタイプの演算子をサポートしています。

1. 算術演算子

算術演算子は、加算、減算、乗算、除算、残差などです。

以下では、実際のコードを使用して、Pythonでのすべての算術演算子の使用法を示しています。

1. a =212.b =103.c =04.5.c = a + b
6. print("1 - a +bの後のcの値は次のとおりです。", c)7.8.c = a - b
9. print("2 - a -bの後のcの値は次のとおりです。", c)10.11.c = a * b
12. print("3 - a *bの後のcの値は次のとおりです。", c)13.14.c = a / b
15. print("4 - a /bの後のcの値は次のとおりです。", c)16.17.c = a % b
18. print("5 - a %bの後のcの値は次のとおりです。", c)19.20.#変数の再割り当て:a、b、c
21. a =222.b =323.c = a ** b
24. print("6 -2の3乗は次のとおりです。", c)25.26.a =1027.b =628.c = a // b29.print("7 -10を6で割った整数部分は次のとおりです。", c)

操作結果:

1-a + bの後のcの値は次のとおりです。31
2-a-bの後のcの値は次のとおりです:11
3-a * bの後のcの値:210
4-a / bの後のcの値は次のとおりです。2.1
5-%bの後のcの値は次のとおりです:1
6-2の3乗は次のとおりです:8
7-10を6で割った整数部分は次のとおりです:1

2. 比較演算子

比較演算子にはブール値の戻り値があります

以下では、実際のコードを使用して、Pythonでのすべての比較演算子の使用法を示しています。

1. a =212.b =103.c =04.5.if(a == b):6.print("1 -aはbに等しい")7.else:8.print("1 -aはbと等しくありません")9.10.if(a != b):11.print("2 -aはbと等しくありません")12.else:13.print("2 -aはbに等しい")14.15.if(a < b):16.print("3 -aはb未満です")17.else:18.print("3 -aがb以上")19.20.if(a > b):21.print("4 -aがbより大きい")22.else:23.print("4 -aがb以下")24.25.#変数aとbの値を変更します
26. a =5;27.b =20;28.if(a <= b):29.print("5 -aがb以下")30.else:31.print("5 -aがbより大きい")32.33.if(b >= a):34.print("6 -bがa以上")35.else:36.print("6 -bはa未満です")

操作結果:

1-aはbと等しくありません
2-aはbと等しくありません
3-aがb以上
4-aがbより大きい
5-aがb以下
6-bがa以上

3. 割り当て演算子と複合割り当て演算子

昔から課題演算子を使っていましたが、複合課題演算子は、算術演算子を組み合わせて、課題と同時に算術演算を実行します。
以下では、実際のコードを使用して、Pythonでのすべての割り当て演算子の使用方法を示します。

1. a =212.b =103.c =04.5.c = a + b
6. print("1 -cの値は次のとおりです。", c)7.8.c += a
9. print("2 -cの値は次のとおりです。", c)10.11.c *= a
12. print("3 -cの値は次のとおりです。", c)13.14.c /= a
15. print("4 -cの値は次のとおりです。", c)16.17.c =218.c %= a
19. print("5 -cの値は次のとおりです。", c)20.21.c **= a
22. print("6 -cの値は次のとおりです。", c)23.24.c //= a25.print("7 -cの値は次のとおりです。", c)

操作結果:

1-cの値:31
2-cの値:52
3-cの値は1092です。
4-cの値:52.0
5-cの値は次のとおりです:2
6-cの値は:2097152
7-cの値は:99864

4. ビット単位の演算子

コンピュータの最小単位はビットです。ビット単位の演算子は、計算を実行するために数値をバイナリとして扱います。一般に、演算子はあまり使用されません。次の図に示すように、一部の特殊なケースのみがインプレース演算子を使用します。
次の表では、変数aは60、bは13で、バイナリ形式は次のとおりです。

a = 0011 1100
 b = 0000 1101

例えば:

&:そして、両方の当事者が1の場合、それは1になり、一方が0の場合、それは0になります。例:
  0000 0111
  0001 0111
結果:
  0000 0111
| :または、一方のパーティが1の場合、それは1であり、両方のパーティは0から0になります。例:
  0001 0101
  1001 0111
結果:
  1001 0111
~ :なし、否定、0は1を否定し、1は0を否定します。たとえば
 0000 0000 0000 0000 0000 0000 1001 0111
結果:
 1111 1111 1111 1111 1111 1111 0110 1000
^ :排他的OR、等しくないのと同様に、両側が1の場合、両側が0か0かに関係なく、0になります。
どちらのパーティも1でも0でも1でない場合、例:
  0001 0101
  1001 0111
結果:
  1000 0010
">>":右に移動し、2桁を右に移動し、負の数の上位桁に1を追加し、正の数の上位桁に0を追加します。例:
正の数:6 >> 2
  0000 0110
結果:
  0000 0001
負の数:
 1111 1111 1111 1111 1111 1111 1111 1010
結果:
 1111 1111 1111 1111 1111 1111 1111 1110
"<<":左にシフトし、左に2桁、正と負の両方の数値が0の最後の桁です。例:
正の数:6 << 2
  0000 0110
結果:
  0001 1000
負の数:
 1111 1111 1111 1111 1111 1111 1111 1010
結果:
 1111 1111 1111 1111 1111 1111 1110 1000

コード例:

1. a =60  # 60=001111002.b =13  # 13=000011013.c =04.5.c = a & b;  # 12=000011006.print("1 -cの値は次のとおりです。", c)7.8.c = a | b;  # 61=001111019.print("2 -cの値は次のとおりです。", c)10.11.c = a ^ b;  # 49=0011000112.print("3 -cの値は次のとおりです。", c)13.14.c =~a;  # -61=1100001115.print("4 -cの値は次のとおりです。", c)16.17.c = a <<2;  # 240=1111000018.print("5 -cの値は次のとおりです。", c)19.20.c = a >>2;  # 15=0000111121.print("6 -cの値は次のとおりです。", c)

操作結果:

1-cの値:12
2-cの値:61
3-cの値は次のとおりです:49
4-cの値は次のとおりです:-61
5-cの値:240
6-cの値:15

5. 論理演算子

Pythonは論理演算子をサポートし、他の言語は&&、||、!を使用してandまたはnotを表します。Pythonでは、and、or、notはandまたはnotを表すために使用されます
以下では、変数aが10、bが20であると想定しています。

例えば:

および:そして同時に意味します:値の1つが偽である限り、結果が偽である限り、両方の当事者の値が真であるかどうかを比較します。例えば:
ABの結果
      true and false  false
      false and true  false
      true and  true  true
      false and false  false
and演算子を使用すると、前の値がtrueになり、後者は実行を継続してtrueかどうかを確認します。前の値がfalseの場合、条件が確立されなくなったため、後者は再度実行されません。
または:または、yesの意味または:2つのパーティの値を比較して、値の1つが真である限り、結果が真であるかどうかを確認します。例えば:
ABの結果
      true or false  true
      false or true  true
      true or true  true
      false or false  false
or演算子を使用すると、前の値がtrueになります。条件が確立されているため、後者は実行されません。前の値がfalseの場合は、実行を続行してtrueまたはfalseを確認します。
not:いいえ、それは否定を意味します:値がtrueである限り、結果はfalseであり、falseの結果はtrueです。それは逆を意味します。例えば:
結果ではない
       true  not  false
       false  not  true

コード例:

1. a =102.b =203.4.if(a and b):5.print("1 -変数aとbは両方とも真です")6.else:7.print("1 -変数aとbの1つが真ではありません")8.9.if(a or b):10.print("2 -変数aとbは両方とも真です,或其中一个变量为 true")11.else:12.print("2 -変数aとbは真ではありません")13.14.15.16.#変数aの値を変更します
17. a =018.if(a and b):19.print("3 -変数aとbは両方とも真です")20.else:21.print("3 -変数aとbの1つが真ではありません")22.23.if(a or b):24.print("4 -変数aとbは両方とも真です,或其中一个变量为 true")25.else:26.print("4 -変数aとbは真ではありません")27.28.ifnot(a and b):29.print("5 -変数aとbの両方が偽であるか、変数の1つが偽です")30.else:31.print("5 -変数aとbは両方とも真です")

操作結果:

1-変数aとbの両方が真
2-変数aとbの両方が真であるか、変数の1つが真である
3-変数aとbの1つが真ではない
4-変数aとbの両方が真であるか、変数の1つが真である
5-変数aとbの両方が偽であるか、変数の1つが偽である

6. メンバーオペレーター

上記の演算子の一部に加えて、Pythonはメンバー演算子もサポートしています。メンバー演算子は、値が配列(リスト)にあるかどうか(リスト)を見つけるために使用されます。

以下では、実際のコードを使用して、Pythonでのすべてのメンバー演算子の使用法を示しています。

1. a =102.b =203.list =[1,2,3,4,5];4.5.if(a in list):6.print("1 -変数aは指定されたリストにあります")7.else:8.print("1 -変数aは指定されたリストにありません")9.10.if(b not in list):11.print("2 -変数bは指定されたリストにありません")12.else:13.print("2 -変数bは指定されたリストにあります")14.15.#変数aの値を変更します
16. a =217.if(a in list):18.print("3 -変数aは指定されたリストにあります")19.else:20.print("3 -変数aは指定されたリストにありません")

操作結果:

1-変数aが指定されたリストにありません
2-変数bが指定されたリストにありません
3-変数aは指定されたリストにあります

7. アイデンティティオペレーター

ID演算子は、2つの変数の参照オブジェクトが同じかどうかを比較するために使用されます

注: id()関数は、オブジェクトのメモリアドレスを取得するために使用されます。

以下では、実際のコードを使用して、PythonでのすべてのID演算子の使用法を示しています。

1. a =202.b =203.4.if(a is b):5.print("1 -aとbは同じ参照オブジェクトを持っています")6.else:7.print("1 -aとbに同じ参照オブジェクトがありません")8.9.if(id(a)==id(b)):10.print("2 -aとbは同じ参照オブジェクトを持っています")11.else:12.print("2 -aとbに同じ参照オブジェクトがありません")13.14.#変数bの値を変更します
15. b =3016.if(a is b):17.print("3 -aとbは同じ参照オブジェクトを持っています")18.else:19.print("3 -aとbに同じ参照オブジェクトがありません")20.21.if(a is not b):22.print("4 -aとbに同じ参照オブジェクトがありません")23.else:24.print("4 -aとbは同じ参照オブジェクトを持っています")

操作結果:

1-aとbは同じ参照オブジェクトを持っています
2-aとbは同じ参照オブジェクトを持っています
3-aとbに同じ参照オブジェクトがありません
4-aとbに同じ参照オブジェクトがありません

isと==の違い:
isは、2つの変数参照オブジェクトが同じであるかどうかを判別するために使用されます。==は、参照変数の値が等しいかどうかを判別するために使用されます。

1.>>> a =[1,2,3]2.>>> b = a
3.>>> b is a
4. True
5.>>> b == a
6. True
7.>>> b = a[:]8.>>> b is a
9. False10.>>> b == a
11. True

8. オペレーターの優先順位

次の例は、Pythonでのすべての演算子の優先順位の操作を示しています。

1. a =202.b =103.c =154.d =55.e =06.7.e =(a + b)* c / d       #(30*15)/58.print("(a + b) * c /d操作の結果は次のとおりです。",  e)9.10.e =((a + b)* c)/ d     # (30*15)/511.print("((a + b) * c) /d操作の結果は次のとおりです。",  e)12.13.e =(a + b)*(c / d);    # (30)*(15/5)14.print("(a + b) * (c / d)操作の結果は次のとおりです。",  e)15.16.e = a +(b * c)/ d;      #  20+(150/5)17.print("a + (b * c) /d操作の結果は次のとおりです。",  e)

操作結果:

(a + b)* c / d操作の結果は次のとおりです:90.0
((a + b)* c)/ d操作の結果は次のとおりです:90.0
(a + b)*(c / d)操作の結果は次のとおりです:90.0
a +(b * c)/ d操作の結果は次のとおりです。50.0

Recommended Posts

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マルチスレッド
Python3リスト
Pythonマルチタスク-日常
pythonの紹介
07.Python3関数
Pythonの基本3
Pythonマルチタスクスレッド
python sys.stdout
Pythonエントリ-3
Centos 7.5 python3.6
Python文字列
pythonキューキュー
Pythonの基本4
Pythonの基本5
Centos6はPython2.7.13をインストールします
Pythonは質問に答えます
Pythonの基本構文(1)
演算子のオーバーロードpython_Python演算子のオーバーロード
Centos7はPython3.6をインストールします。
ubuntu18.04インストールpython2
Pythonの古典的なアルゴリズム
ubuntuを再学習します--python3
Python2.7 [インストールチュートリアル]
Python文字列操作
Python 3.9が登場!
Python研究ノート(1)
python学習ルート
CentOS7アップグレードpython3
Python3の基本構文
linux + ubuntuはpythonを解決します
pythonの関数
Python学習変数タイプ
CentOSはPython3.6をインストールします
Python3.9の7つの機能
Pythonファイル操作
ubuntu12.04インストールpython3
Pythonのデザインパターン
Python-centos6のインストール
Centos7はPython2.7をインストールします
01.Pythonの概要
100の小さなPythonの例
Pythonネットワークプログラミング
python研究ノート
02.Pythonデータタイプ
Pythonはファイルの名前を変更します