1.3操作記号
算術演算子
+
:追加;シーケンス接続
>>> 1+2
3
>>> "abc"+"abc"
'abcabc'
>>> [1,2,3]+[1,2,3]
[1, 2, 3, 1, 2, 3]
-
:減算
>>> 3-2
1
>>> 3.14-2.89
0.25
*
:乗算;シーケンスリピート
>>> 2*3
6
>>> "abc"*3
'abcabcabc'
>>> [1,2,3]*3
[1, 2, 3, 1, 2, 3, 1, 2, 3]
/
:除算、結果は小数です
>>> 10/3
3.3333333333333335
>>> 9/2
4.5
//
:除算、小数がある場合、結果は小数(整数+小点)になります
>>> 10//3
3
>>> 9//2
4
>>> 10.0//3
3.0
>>> 9.0//2
4.0
**
:指数
>>> 2**4
16
>>> 81**0.5
9.0
%
:残りを取る
>>> 10%3
1
>>> 10%-3 #(10%3)-3
-2
>>> -10%3 #-(10%3)+3
2
>>> -10%-3
-1
>>> 7 % 4
3
>>> 7 % -4 # 3 -> 3 + -4 -> -1
-1
>>> -7 % 4 # 3 -> -3 + 4 -> 1
1
>>> -7 % -4
-3
割り当て演算子
主に変数用
+=,-=,*=,/=,//=,**=,%=
に起因する?=
a?= 1
a = a?1
>>> a = 1
>>> a += 1
>>> a
2
>>> a -= 1
>>> a
1
>>> a *= 10
>>> a
10
>>> a /= 2
>>> a
5.0
>>> 10 /= 2
File "<stdin>", line 1
SyntaxError: cannot assign to literal
>>> a = 1
>>> b = 2
>>> a += b
>>> a
3
# 左边必须是变量 右边变量或者常量都行
比較演算子
操作の結果はブール型のみになります
>大于,<小于,>=大于等于,<=小于等于,==等于,!=不等于
注:==
常にオブジェクトデータの値を比較してください
>>> 3 > 2
True
>>> 1 < 2
True
>>> 1 != 2
True
>>> 2 == 2
True
上記のコードは布尔表达式
論理演算子
操作の結果はブール値のみになります
and逻辑与,or逻辑或,not 逻辑非
および/または単眼演算子ではなく両眼演算子、参加データはブール型である必要があります
>>> 3 and 2
2
>>> 3 > 2 and 2 > 1
True
>>> 3 > 2 or 1 > 2
True
>>> not 3 > 2
False
>>> not False
True
>>> not True
False
シフト演算子
&位与
、|位或
、<<左移
、>>右移
、^异或
>>> 12 & 7
4
"""
1100
0111 &
0100
"""
>>> 12 | 7
15
"""
1100
0111 |
1111
"""
>>> 2 << 4
32
"""
0010
00100000
2 * 2^4
"""
>>> 3 << 3
24 # 3 * 2^3
>>> 16 >> 2
4
"""
10000
00100
16 / 2^2
"""
>>> 10 ^ 7
13
"""
1010
0111 ^
1101
"""