Latest web development tutorials

Pythonの演算子

オペレータは何ですか?

このセクションでは、主にPythonの演算子を説明しました。 ここでは4 + 5 = 9の簡単な例です 例えば、 図4及び図5は 、「+」演算子はと呼ばれ、オペランドと呼ばれます。

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

Pythonを学ぶために一人のオペレータをしてみましょう。


Pythonの算術演算子

以下の仮定の変数aは10、bは変数20です。

演算子 説明
+ プラス - 2つのオブジェクトが追加されます A + B出力30
- 保存 - 別の番号から負の数が減算され得ますか、 A - B出力-10
* 乗算 - 2つの数値を乗算または文字列を数回繰り返し返します * bの出力200
/ また、 - yで割っxは B / 2出力
モジュロ - 除算の余りを返します。 0出力のb%
** パワー - 返すのx、yの累乗しました ** B 10 20乗、出力100000000000000000000
// 割り切れる取る - 商の整数部を返します。 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です。

演算子 説明
== イコール - 平等のためのオブジェクトを比較 (== b)はFalseを返します。
!= それは同じではありません - 比較する2つのオブジェクトが等しくありません (!= B)はtrueを返します。
<> それは同じではありません - 比較する2つのオブジェクトが等しくありません (A <> B)がtrueを返します。 この演算子は、に似ています!=。
> xがyよりも大きいかどうかを返します - より大きい (A> B)はFalseを返します。
< 未満 - xがy未満であるかどうかを返します。 すべての比較演算子は、偽のための真の場合は1を返し、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:
   print "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 大于等于 b"
else:
   print "7 - b 小于 b"

上記の出力の例:

1 - a 不等于 b
2 - a 不等于 b
3 - a 不等于 b
4 - a 大于等于 b
5 - a 大于 b
6 - a 小于等于 b
7 - b 大于等于 b

Pythonの代入演算子

以下の仮定の変数aは10、bは変数20です。

演算子 説明
= 単純代入演算子 C = A + B A + Bの操作は、cに結果を割り当てます。
+ = 加算代入演算子 C + = aがC = C + Aに相当します
- = 減算代入演算子 C - = AはCの= cに相当します -
* = 乗算代入演算子 Cに相当* = 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はビットごとのルールです:

次の表60、B 13で変数として。

演算子 説明
ビット単位のAND演算子:2つの動作に関与した値は、両方の対応するビットが1であれば、結果ビットが1で、そうでなければ0 (A&B)出力12、バイナリの説明:0000 1100
| ビット単位のOR演算子は:限り2対応するバイナリビットが1であるとして、結果のビットは1です。 (A | B)出力61、バイナリ説明:00111101
^ ビット単位の排他的論理和演算子:2の対応するバイナリビット異なると結果が1であります (A ^ B)49の出力、バイナリ説明:00110001
ビット演算子:1 0にある各バイナリデータのビット反転、0から1 (〜A)-61出力、バイナリの説明:1100 0011記号形式では、2進数を補完します。
<< 左の携帯電話事業者:各バイナリのオペランドすべてが高いと低い0を捨て、「<<」小数点移動の権利を番号で指定されたビット数を残しました。 << 2出力240バイナリの解釈:11110000
>> 右モバイル通信事業者:右の「>>」、左側のオペランドのいくつかのすべての右の「>>」各バイナリ指定したビットの数に A >> 2出力15、バイナリの説明:0000 1111

次の例では、すべてのビット演算Pythonを示しています。

#!/usr/bin/python
# -*- coding: UTF-8 -*-

a = 60            # 60 = 0011 1100 
b = 13            # 13 = 0000 1101 
c = 0

c = a & b;        # 12 = 0000 1100
print "1 - c 的值为:", c

c = a | b;        # 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;       # 15 = 0000 1111
print "6 - c 的值为:", c

上記の出力の例:

1 - c 的值为: 12
2 - c 的值为: 61
3 - c 的值为: 49
4 - c 的值为: -61
5 - c 的值为: 240
6 - c 的值为: 15

Pythonの論理演算子

Python言語は、変数が20 B、10であるという仮定を論理演算子をサポートしています。

演算子 論理式 説明
xとy ブール "と" - xが偽、xとyを返しますがFalseの場合、そうでなければ、yの評価を返します。 (AとB)は20を返します。
または xまたはy ブール」または「 - xがゼロでない場合、それは、yの評価を返すほか、xの値を返します。 (AまたはB)10を返します。
しません ないのx ブール "ではない" - xがTrueの場合、それはFalseを返します。 xがFalseの場合、それはTrueを返します。 ない(a、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"
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 or b ):
   print "4 - 变量 a 和 b 都为 true,或其中一个变量为 true"
else:
   print "4 - 变量 a 和 b 都不为 true"

if not( a and b ):
   print "5 - 变量 a 和 b 都为 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 都为 false,或其中一个变量为 false

Pythonのメンバー演算子

上記の演算子の一部に加えて、Pythonはまた、メンバー演算子をサポートし、テストケースは、文字列、リストやタプルを含むメンバーの数を、含まれています。

演算子 説明
あなたは指定されたシーケンスの値がそうでなければFalse、Trueを返し見つけた場合。 x yの順序で、Trueを返しますyのシーケンス中のxの場合。
ありませんで 値が指定された順序で発見されていない場合はtrue、そうでない場合はfalseを返します。 xはxがyでない場合、シーケンスはTrueを返し、シーケンスyのではありません。

次の例では、Pythonのオペレータ操作のすべてのメンバーを示します。

#!/usr/bin/python
# -*- coding: UTF-8 -*-

a = 10
b = 20
list = [1, 2, 3, 4, 5 ];

if ( a in list ):
   print "1 - 变量 a 在给定的列表中 list 中"
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のアイデンティティ演算子

同一のオペレータは、記憶ユニットの2つのオブジェクトを比較するために使用されます

演算子 説明
あります 2つの識別子がオブジェクトから参照されていない判断され xはID(x)はID(y)が等しい場合、yは1の結果を返します
ありません これは、2つの識別子が異なるオブジェクトから参照されていないと判断することではありません ID(x)はID(Y)と等しくない場合xがyの、1の結果を返されませんされていません

次の例では、すべての演算子のPythonの操作のアイデンティティを示しています。

#!/usr/bin/python
# -*- coding: UTF-8 -*-

a = 20
b = 20

if ( a is b ):
   print "1 - a 和 b 有相同的标识"
else:
   print "1 - a 和 b 没有相同的标识"

if ( id(a) == id(b) ):
   print "2 - a 和 b 有相同的标识"
else:
   print "2 - a 和 b 没有相同的标识"

# 修改变量 b 的值
b = 30
if ( a is b ):
   print "3 - a 和 b 有相同的标识"
else:
   print "3 - a 和 b 没有相同的标识"

if ( a is not b ):
   print "4 - a 和 b 没有相同的标识"
else:
   print "4 - a 和 b 有相同的标识"

上記の出力の例:

1 - a 和 b 有相同的标识
2 - a 和 b 有相同的标识
3 - a 和 b 没有相同的标识
4 - a 和 b 没有相同的标识

Pythonの演算子の優先順位

最高からのすべての演算子の優先順位が最も低いに次の表に示します:

演算子 説明
** インデックス(最優先)
〜+ - ビット単位の反転、単項プラスとマイナス(+という名前の最後の2方法と@ - @)
* /%// 乗算、除算、および剰余は割り切れ取ります
+ - 加算減算
>> << 右、左のオペレータ
ビット「AND」
^ | ビット演算子
<= <>> = 比較
<> ==!= 等価演算子
=%= / = @ = - = + = * = * = 代入演算子
あるではありません 恒等作用素
ではありませんで メンバー演算子
ではないかと 論理演算子

次の例では、すべてのPython演算子の優先順位のアクションを示しています。

#!/usr/bin/python
# -*- coding: 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;      #  20 + (150/5)
print "a + (b * c) / d 运算结果为:",  e

上記の出力の例:

(a + b) * c / d 运算结果为: 90
((a + b) * c) / d 运算结果为: 90
(a + b) * (c / d) 运算结果为: 90
a + (b * c) / d 运算结果为: 50