数学运算符
# + 可以拼接数值类 序列类型 (注意只有元素类型相同的才能相加,如 数字和数字,列表和列表,字符串和字符串) >>> a = 21 >>> b = 10 >>> a+b 31 >>> list1= [1,2] >>> list2 = [2,3] >>> list1+list2 [1, 2, 2, 3] # * (和数字相关的都可以,序列类型表示复制) >>> a*b 210 >>> (‘Hi!‘,) * 4 # 等于复制的意思 (‘Hi!‘, ‘Hi!‘, ‘Hi!‘, ‘Hi!‘) >>> "hello"*4 # 等于复制的意思 ‘hellohellohellohello‘ #============================================================================================== #从这里开始下面全是处理数字的, #就是数学里面的运算 # - (注意元素的类型相同才能相减,这里不支持序列类型相减,字符串也不支持减法运算) >>> a = 21 >>> b = 10 >>> a - b 11 # / 除以 >>> a = 21 >>> b = 10 >>> a/b 2.1 # % 取余 >>> a = 21 >>> b = 10 >>> a%b 1 # ** 幂 - 返回x的y次幂 等同于 pow() >>> a = 21 >>> b = 10 >>> a**b 16679880978201 >>>pow(2,3) 8 # // 取商-向下取接近被除数的整数 (这个要特别注意负数的情况) >>> 9//2 4 >>> -9//2 -5
比较运算符
备注:一般和判断语句、while连用
比较运算符 | 描述 | 返回值 |
== | 等于 | bool类型<True, False> |
!= | 不等于 | bool类型<True, False> |
> | 大于 | bool类型<True, False> |
< | 小于 | bool类型<True, False> |
>= | 大于等于 | bool类型<True, False> |
<= | 小于等于 | bool类型<True, False> |
赋值运算符
赋值运算符 | 描述 | 实例 |
= | 简单的赋值运算符 | c = a + b 将 a + b 的运算结果赋值为 c |
+= | 加法赋值运算符 | c += a 等效于 c = c + a |
-= | 减法赋值运算符 | c -= a 等效于 c = c - a |
*= | 乘法赋值运算符 | c *= a 等效于 c = c * a |
/= | 除法赋值运算符 | c /= a 等效于 c = c / a |
%= | 取模赋值运算符 | c %= a 等效于 c = c % a |
**= | 幂赋值运算符 | c **= a 等效于 c = c 幂 a |
//= | 取整除赋值运算符 | c //= a 等效于 c = c // a |
逻辑运算符
逻辑表达式 | 描述 | 实例 | |
---|---|---|---|
and | x and y | 布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。 | (a and b) 返回 20。 |
or | x or y | 布尔"或" - 如果 x 是 True,它返回 x 的值,否则它返回 y 的计算值。 | (a or b) 返回 10。 |
not | not x | 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返True。 |
备注:and 和 or 的区别和使用
A and B : 1. 如果A是True,那么他会去执行B语句,判断B后返回结果
2. 如果A是False,那么他就不会去执行B语句, 直接返回False
A or B : 1.如果A是Ture,那么他不会去执行B语句,直接就返回了Ture
2.如果A是False,那么他会去执行B语句,判断B后返回结果
成员运算符
描述 | |
---|---|
in | 如果在指定的序列中找到值返回 True,否则返回 False。 |
not in |
>>> bool(1 in [1,2,3]) True >>> list = [1, 2, 3, 4, 5 ]; >>> a =1 >>> if a in list: ... print("a在列表中") ... else: ... print("a不在列表中") a在列表中
身份运算符
描述 | |
---|---|
is | is 是判断两个标识符是不是引用自一个对象(即存储地址) |
is not |
备注:id()函数用于存储对象的内存地址,is就是判断他们地址是否相同的
数字在0-256是相同的,其余不相同,字符串如果是一样的,id也是一样的
只有数值型和字符串型的情况下,a is b才为True,当a和b是tuple,list,dict或set型时,a is b为False。
>>> a = 20 #a和b为数值类型 >>> b = 20 >>> id(a) 505637296 >>> id(b) 505637296 >>> a is b True >>> a = ‘cheesezh‘ #a和b为字符串类型 >>> b = ‘cheesezh‘ >>> id(a) 42111872 >>> id(b) 42111872 >>> a is b True >>> x = y = [4,5,6] #x和y为list类型 >>> z = [4,5,6] >>> print id(x) 3075326572 >>> print id(y) 3075326572 >>> print id(z) >>> x is y True >>> x is z False
原文:https://www.cnblogs.com/su-sir/p/12467213.html