[Python]
来源:互联网 发布:三国之数据辅助103 编辑:程序博客网 时间:2024/05/18 00:30
文章从简书转入,只因它已不再是以前的简书
Action may not always bring happiness, but there is no happiness without action.
行动不一定带来幸福,不行动就肯定没有幸福。
Python语言支持以下类型的运算符:
- 算术运算符
- 比较(关系)运算符
- 赋值运算符
- 逻辑运算符
- 位运算符
- 成员运算符
- 身份运算符
- 运算符优先级
算术运算符
以下假设变量a为10,变量b为21:
实例操作:
a = 21b = 8c = 0c = a + bprint("%s + %s = %s" % (a,b,c))c = a - bprint("%s - %s = %s" % (a,b,c))c = a * bprint("%s * %s = %s" % (a,b,c))c = a / bprint("%s / %s = %s" % (a,b,c))c= a % bprint("%s %% %s = %s" % (a,b,c))c = a // bprint("%s //%s = %s" % (a,b,c))# 修改 a, b, c 的值a = 2b = 3c = a**bprint("%s ** %s = %s" % (a,b,c))
以上实例输出结果:
21 + 8 = 2921 - 8 = 1321 * 8 = 16821 / 8 = 2.62521 % 8 = 521 //8 = 22 ** 3 = 8
比较运算符
所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价
注意,这些变量名的大写
以下假设变量a为10,变量b为20:
实例操作:
a = 21b = 8c = 0if (a == b): print("%s 等于 %s" % (a, b))else: print("%s 不等于 %s" % (a, b))if (a != b): print("%s 不等于 %s" % (a, b))else: print("%s 等于 %s" % (a, b))if (a < b): print("%s 小于 %s" % (a, b))else: print("%s 大于等于 %s" % (a, b))if (a > b): print("%s 大于 %s" % (a, b))else: print("%s 大于等于 %s" % (a, b))# 修改变量 a 和 b 的值a = 5b = 20if (a <= b): print("%s 小于等于 %s" % (a, b))else: print("%s 大于 %s" % (a, b))if (b >= a): print("%s 大于等于 %s" % (b, a))else: print("%s 大于 %s" % (b, a))
以上实例输出结果:
21 不等于 821 不等于 821 大于等于 821 大于 85 小于等于 2020 大于等于 5
赋值运算符
以下假设变量a为10,变量b为20:
实例操作:
a = 21b = 8c = 0c = a + bprint("c = a + b 后, c 值为:", c)# 等效于c += aprint("c += b 后, c 值为:", c)c *= aprint("c *= b 后, c 值为:", c)c /= aprint("c /= b 后, c 值为:", c)c = 2c %= aprint("c %= b 后, c 值为:", c)c **= aprint("c **= b 后, c 值为:", c)c //= aprint("c //= b 后, c 值为:", c)
以上实例输出结果:
c = a + b 后, c 值为: 29c += b 后, c 值为: 50c *= b 后, c 值为: 1050c /= b 后, c 值为: 50.0c %= b 后, c 值为: 2c **= b 后, c 值为: 2097152c //= b 后, c 值为: 99864
位运算符
按位运算符是把数字看作二进制来进行计算的
以下假设变量 a 为 60,b 为 13二进制格式如下:
a = 0011 1100b = 0000 1101-----------------a&b = 0000 1100a|b = 0011 1101a^b = 0011 0001~a = 1100 0011
实例操作:
a = 60 # 60 = 0011 1100b = 13 # 13 = 0000 1101c = 0c = a & b; # 12 = 0000 1100print("%s & %s 的值为:%s" % (a, b, c))c = a | b; # 61 = 0011 1101print("%s | %s 的值为:%s" % (a, b, c))c = a ^ b; # 49 = 0011 0001print("%s ^ %s 的值为:%s" % (a, b, c))c = ~a; # -61 = 1100 0011print("~%s 的值为:%s" % (a, c))c = a << 2; # 240 = 1111 0000print("%s << 2 的值为:%s" % (a, c))c = a >> 2; # 15 = 0000 1111print("%s >> 2 的值为:%s" % (a, c))
以上实例输出结果:
60 & 13 的值为:1260 | 13 的值为:6160 ^ 13 的值为:49~60 的值为:-6160 << 2 的值为:24060 >> 2 的值为:15
逻辑运算符
假设变量 a 为 10, b为 20:
实例操作:
a = 21b = 8if (a and b): print("变量 a 和 b 都为 true")else: print("变量 a 和 b 有一个不为 true")if (a or b): print("变量 a 和 b 都为 true,或其中一个变量为 true")else: print("变量 a 和 b 都不为 true")# 修改变量 a 的值a = 0if (a and b): print("变量 a 和 b 都为 true")else: print("变量 a 和 b 有一个不为 true")if (a or b): print("变量 a 和 b 都为 true,或其中一个变量为 true")else: print("变量 a 和 b 都不为 true")if not (a and b): print("变量 a 和 b 都为 false,或其中一个变量为 false")else: print("变量 a 和 b 都为 true")
以上实例输出结果:
变量 a 和 b 都为 true变量 a 和 b 都为 true,或其中一个变量为 true变量 a 和 b 有一个不为 true变量 a 和 b 都为 true,或其中一个变量为 true变量 a 和 b 都为 false,或其中一个变量为 false
成员运算符
成员包括字符串,列表或元组
实例操作:
a = 10b = 20list = [1, 2, 3, 4, 5];if (a in list): print("变量 a(%s) 在给定的列表中 list(%s) 中" % (a, list))else: print("变量 a(%s) 不在给定的列表中 list(%s) 中" % (a, list))if (b not in list): print("变量 b(%s) 不在给定的列表中 list(%s) 中" % (b, list))else: print("变量 b(%s) 在给定的列表中 list(%s) 中" % (b, list))# 修改变量 a 的值a = 2if (a in list): print("变量 a(%s) 在给定的列表中 list(%s) 中" % (a, list))else: print("变量 a(%s) 不在给定的列表中 list(%s) 中" % (a, list))
以上实例输出结果:
变量 a(10) 不在给定的列表中 list([1, 2, 3, 4, 5]) 中变量 b(20) 不在给定的列表中 list([1, 2, 3, 4, 5]) 中变量 a(2) 在给定的列表中 list([1, 2, 3, 4, 5]) 中
身份运算符
身份运算符用于比较两个对象的存储单元
PS: id() 函数用于获取对象内存地址
- 内容相同的 数字 (Number) 和 字符串 (String) 存储单元相同
- 内容相同的 列表 (List) 和 元祖 (Tuple) 存储单元不同
实例操作:
a = 21b = 21if (a is b): print("a(%s) 和 b(%s) 有相同的标识" % (a, b))else: print("a(%s) 和 b(%s) 没有相同的标识" % (a, b))if (id(a) == id(b)): print("a(%s) 和 b(%s) 有相同的标识" % (a, b))else: print("a(%s) 和 b(%s) 没有相同的标识" % (a, b))# 修改变量 b 的值b = 30if (a is b): print("a(%s) 和 b(%s) 有相同的标识" % (a, b))else: print("a(%s) 和 b(%s) 没有相同的标识" % (a, b))if (a is not b): print("a(%s) 和 b(%s) 没有相同的标识" % (a, b))else: print("a(%s) 和 b(%s) 有相同的标识" % (a, b))a = "mazy"b = "mazy"if (a is b): print("a(%s) 和 b(%s) 有相同的标识" % (a, b))else: print("a(%s) 和 b(%s) 没有相同的标识" % (a, b))a = "mazy"b = "Mazy"if (a is b): print("a(%s) 和 b(%s) 有相同的标识" % (a, b))else: print("a(%s) 和 b(%s) 没有相同的标识" % (a, b))
以上实例输出结果:
a(21) 和 b(21) 有相同的标识a(21) 和 b(21) 有相同的标识a(21) 和 b(30) 没有相同的标识a(21) 和 b(30) 没有相同的标识a(mazy) 和 b(mazy) 有相同的标识a(mazy) 和 b(Mazy) 没有相同的标识
is
与 ==
区别:
is
用于判断两个变量引用对象是否为同一个==
用于判断引用变量的值是否相等
运算符优先级
(从高到底)
- -
阅读全文
0 0
- Python
- Python
- Python
- python
- Python
- PYTHON
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- python
- Python
- dialog常用
- MPU9250九轴姿态解算开发小结
- 数据结构之课程大总结
- scrapy安装win32api,找不到包解决方法
- 4Sum:带重复数组取值求和
- [Python]
- PHP与JS跨域请求
- CentOS6.5中安装JDK
- Java获取Properties文件中值的方法
- Java反射实战
- 国家公务员考试之证监会计算机类
- 创投日报:12月13日收录投融资项目23起
- 10G多通道带内FEC波分复用传输设备解决方案
- 从“平板之父”到连续创业者, Jerry Kaplan传奇来袭