一、运算符
1.算数运算符
(1)加(+)
注意:字符串与整数之间不能进行相加,需要通过str()或int()进行转换数据类型
-
整数与整数相加
>>> 1 + 1 2 >>>
- 浮点数与浮点数相加
>>> 2.0 + 2.0 4.0 >>> """二进制存储精度误差""" >>> 1.1 + 1.3 2.4000000000000004 >>>
- 整数与浮点数相加
>>> 2 + 2.0 4.0 >>>
- 字符串之间相加
>>> "Mr" + "." + "ZHENG" 'Mr.ZHENG' >>>
- 正数与负数相加
>>> 3 + (-1) 2 >>>
- 负数与负数相加
>>> -3 + -4 -7 >>>
(2)减(-)
注意:字符串与整数和字符串之间不能进行相减
- 整数与整数相减
>>> 10 - 5 5 >>>
- 负数与负数相减
>>> -3 - -4 1 >>>
- 正数与负数相减
>>> 5 - -2 7 >>>
- 浮点数与浮点数相减
>>> 5.0 - 2.0 3.0 >>> >>> 1.3 - 1.2 0.10000000000000009 >>>
- 整数与浮点数相减
>>> 3 - 1.3 1.7 >>>
(3)乘(*)
注意:字符串与字符串之间不能进行相乘
- 整数与整数相乘
>>> 3 * 2 6 >>>
- 浮点数与浮点数相乘
>>> 3.0 * 2.0
6.0
>>> - 整数与浮点数相乘
>>> 4 * 1.0 4.0 >>>
- 正数与负数相乘
>>> 5 * (-2) -10 >>>
- 负数与负数相乘
>>> -3 * -2 6 >>>
(4)除(/)
注意:字符串与字符串和整数之间不能进行相除
- 整数与整数相除
>>> 6 / 3 2 """整数相除,结果为整数""" >>> 7 / 3 2 >>>
- 浮点数与浮点数相除
>>> 6.2 / 2.0 3.1 >>>
- 整数与浮点数相除
>>> 6.0 /3 2.0 >>> >>> 7 / 3.0 2.3333333333333335 >>>
(5)求幂(**)
如x ** y --> 返回x的y次幂
>>> 3 ** 3 27 >>> >>> 10 ** 2 100 >>>
(6)取模 (%)--> 返回除法的余数
>>> 5 % 3 2 >>>
"""-a % b = b - (a % b)""" >>> -304 % 100 96 >>>
(7)整除法(//) -->向左取整
- 正数(正数向零取整)
>>> 9.0 // 2 4.0 >>> 9 // 2 4
- 负数(负数取偏小一位数)
>>> -9.0 // 2 -5.0 >>> -9 // 2 -5
2.赋值运算符
(1)= 简单的赋值运算符
>>> a = 10
>>> a
10
name = "Alex Li" name2 = name print(name,name2) name = "Jack" print("What is the value of name2 now?")
python内存回收机制如下:
(2)+= 加法赋值运算符
a += 1 --> a = a + 1
>>> a = 2
>>> a += 1
>>> a
3
>>>
(3)-= 减法赋值运算符
a -= 1 --> a = a - 1
(4)*= 乘法赋值运算符
a *= 1 --> a = a * 1
(5)/= 除法赋值运算符
a /= 2 --> a = a / 2
(6)%= 取模赋值运算符
a %= 3 --> a = a % 3
(7)**= 幂赋值运算符
c **= a 等效于 c = c ** a
(8)//= 取整除赋值运算符
c //= a 等效于 c = c // a
3.比较运算符(返回值为bool值)
(1)== 等于 - 比较对象是否相等
>>> "name" == "name" True >>> 1 == 1 True >>> 1 == 2 False >>>
(2)!=或<> 不等于 - 比较两个对象是否不相等
>>> 1 != 2 True >>> 1 <> 1 False >>> "name" != "name1" True >>>
(3)>
>>> 2 > 1 True >>> 5 > 8 False >>> "zheng" > "zhen" True >>>
(4)<
>>> 1 < 2 True >>> 3 < 2 False >>> "zhen" < "zheng" True >>>
(5)>=
>>> 2 >= 2
True
>>>
(6)<=
>>> 2 <= 2
True
>>>
4.身份运算符(用于比较两个对象的存储单元--内存地址)
(1)is 是判断两个标识符是不是引用自一个内存地址
- x is y,类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False
>>> 1 is 1 True >>> 1 is 2 False
(2)is not 是判断两个标识符是不是引用自不同对象
- x is not y, 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False
>>> 1 is not 1 False >>> 1 is not 2 True
5.逻辑运算符
假设a = 10,b = 20
(1)and 布尔"与" --> 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值
>>> a = 10 >>> b = 20 >>> a == 9 and b False >>> a and b 20
(2)or 布尔"或" --> 如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值
>>> a = 10 >>> b = 20 >>> a or b 10 >>> a == -1 or b 20 >>> a == 1 or b 20 >>> a == 10 or b True
(3)not 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True
>>> a = 10 >>> not a False >>> not a == 1 True
6.成员运算符
(1)in 如果在指定的序列中找到值返回 True,否则返回 False
- 如下:a 在 b序列中则返回True,否则返回False
>>> a = 10 >>> b = [1,2,3] >>> a in b False >>> b = [1,2,3,10] >>> a in b True
(2)not in 如果在指定的序列中没有找到值返回 True,否则返回 False
- 如下:a 不在 b序列中则返回True,否则返回False
>>> a = 10 >>> b = [1,2,3] >>> a not in b True >>> b = [1,2,3,10] >>> a not in b False >>>