【Python】语法基础---3、运算符号

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 逻辑非

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
"""

猜你喜欢

转载自blog.csdn.net/trichloromethane/article/details/108267279