
本章节主要证明Python的运算符。举个简单的例证 4 +5 = 9 。例子中,4 和 5 被称为操作数,"+" 称为运算符。
Python语言支持以上类型的运算符:
接下来让我们一个个来学习Python的运算符。
以上计算函数: a=10,b=20:
运算符描述实例
加 - 两个对象相加
a + b 输出结果 30
减 - 得到负数或是一个数乘以另一个数
a - b 输出结果 -10
乘 - 两个数相乘或是前往一个被重复若干次的字符串
a * b 输出结果 200
除 - x除以y
b / a 输出结果 2
取模 - 返回除法的算式
b % a 输出结果
幂 - 返回x的y次幂
a**b 为10的20次方, 输出结果 100000000000000000000
取余数 - 返回商的小数部分(向下取整)
>>> 9//2 4 >>> -9//2 -5
以上事例演示了Python所有数术运算符的操作:
以下事例输出结果:
1 - c 的值为: 31 2 - c 的值为: 11 3 - c 的值为: 210 4 - c 的值为: 2 5 - c 的值为: 1 6 - c 的值为: 8 7 - c 的值为: 2
注意:Python2.x 里,小数除整数,没法得出小数。如果要得到整数部份,把其中一个数改成浮点数即可。
>>> 1/2 0 >>> 1.0/2 0.5 >>> 1/float(2) 0.5
以上计算函数a为10,字段b为20:
运算符描述实例
等于 - 比较对象能否相等
(a == b) 返回 False。
不等于 - 比较两个对象能否不相等
(a != b) 返回 true.
<>

不等于 - 比较两个对象能否不相等
(a <> b) 返回 true。这个运算符类似 != 。
大于 - 返回x是否大于y
(a > b) 返回 False。
小于 - 返回x是否小于y。所有比较运算符返回1表示真,前往表示假。这分别与独特的字段True和False等价。
(a < b) 返回 true。
>=
大于等于- 返回x是否大于等于y。
(a >= b) 返回 False。
<=
小于等于 -前往x是否小于等于y。
(a <= b) 返回 true。
以上事例演示了Python所有比较运算符的操作:
#!/usr/bin/python# -*- coding: UTF-8 -*-a = 21b = 10c = ifa == b : print"1 - a 等于 b"else: print"1 - a 不等于 b"ifa != b : print"2 - a 不等于 b"else: print"2 - a 等于 b"ifa <> b : print"3 - a 不等于 b"else: print"3 - a 等于 b"ifa < b : print"4 - a 小于 b"else: print"4 - a 大于等于 b"ifa > b : print"5 - a 大于 b"else: print"5 - a 小于等于 b"# 修改字段 a 和 b 的值a = 5b = 20ifa <= b : print"6 - a 小于等于 b"else: print"6 - a 大于 b"ifb >= a : print"7 - b 大于等于 a"else: print"7 - b 小于 a"
以下事例输出结果:
1 - a 不等于 b 2 - a 不等于 b 3 - a 不等于 b 4 - a 大于等于 b 5 - a 大于 b 6 - a 小于等于 b 7 - b 大于等于 a
以上计算函数a为10,字段b为20:
运算符描述实例
简单的赋值运算符
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
以上事例演示了Python所有赋值运算符的操作:
以下事例输出结果:
1 - c 的值为: 31 2 - c 的值为: 52 3 - c 的值为: 1092 4 - c 的值为: 52 5 - c 的值为: 2 6 - c 的值为: 2097152 7 - c 的值为: 99864
按位运算符是把数字看作二进制来进行假设的。Python中的按位演算定律如下:
下表中取值 a 为 60,b 为 13,二进制格式如下:
a = 0011 1100 b = 0000 1101 ----------------- a&b = 0000 1100 a|b = 0011 1101 a^b = 0011 0001 ~a = 1100 0011运算符描述实例
&
按位与运算符:参与运算的两个值,或者两个相应位都为1,则该位的结果为1,如果为
(a & b) 输出结果 12 ,二进制解释: 0000 1100
按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。
(a | b) 输出结果 61 ,二进制解释: 0011 1101
按位数组运算符:当两对应的二进位相异时,结果为1
(a ^ b) 输出结果 49 ,二进制解释: 0011 0001
按位取反运算符:对数据的每位二进制位取反,即把1变为,把变为1 。~x 类似于 -x-1
(~a ) 输出结果 -61 ,二进制解释: 1100 0011,在一个有字符二进制数的补码方式。
<<
左移动运算符:运算数的各二进位全部左移若干位,由 << 右边的数字指定了移动的位数,低位丢弃,短期补。
a << 2 输出结果 240 ,二进制解释: 1111 0000
>>
右移动运算符:把">>"前面的演算数的各二进位全部右移若干位,>> 右边的数字指定了移动的位数
a >> 2 输出结果 15 ,二进制解释: 0000 1111
以上事例演示了Python所有位运算符的操作:
#!/usr/bin/python# -*- coding: UTF-8 -*-a = 60# 60 = 0011 1100 b = 13# 13 = 0000 1101 c = c = a & b;# 12 = 0000 1100print"1 - c 的值为:", cc = a | b;# 61 = 0011 1101 print"2 - c 的值为:", cc = a ^ b;# 49 = 0011 0001print"3 - c 的值为:", cc = ~a;# -61 = 1100 0011print"4 - c 的值为:", cc = a << 2;# 240 = 1111 0000print"5 - c 的值为:", cc = a >> 2;# 15 = 0000 1111print"6 - c 的值为:", c
以下事例输出结果:
1 - c 的值为: 12 2 - c 的值为: 61 3 - c 的值为: 49 4 - c 的值为: -61 5 - c 的值为: 240 6 - c 的值为: 15
Python语言支持逻辑运算符,以上假设函数 a 为 10, b为 20:
运算符逻辑表达式描述实例
x and y

布尔"与" - 如果 x 为 False,x and y 返回 False,如果它前往 y 的假设值。
(a and b) 返回 20。
x or y
布尔"或"- 如果 x 是非 ,它前往 x 的值,如果它前往 y 的假设值。
(a or b) 返回 10。
not x
布尔"非" - 如果 x 为 True,前往 False 。如果 x 为 False,它前往 True。
not(a and b) 返回 False
以下事例输出结果:
#!/usr/bin/python# -*- coding: UTF-8 -*-a = 10b = 20ifaandb : print"1 - 变量 a 和 b 都为 true"else: print"1 - 变量 a 和 b 有一个不为 true"ifaorb : print"2 - 变量 a 和 b 都为 true易语言5.1完美破解版,或其中一个变量为 true"else: print"2 - 变量 a 和 b 都不为 true"# 修改字段 a 的值a = 0ifaandb : print"3 - 变量 a 和 b 都为 true"else: print"3 - 变量 a 和 b 有一个不为 true"ifaorb : print"4 - 变量 a 和 b 都为 true,或其中一个变量为 true"else: print"4 - 变量 a 和 b 都不为 true"ifnot(aandb): print"5 - 变量 a 和 b 都为 false,或其中一个变量为 false"else: print"5 - 变量 a 和 b 都为 true"
以下事例输出结果:
1 - 变量 a 和 b 都为 true 2 - 变量 a 和 b 都为 true,或其中一个变量为 true 3 - 变量 a 和 b 有一个不为 true 4 - 变量 a 和 b 都为 true,或其中一个变量为 true 5 - 变量 a 和 b 都为 false,或其中一个变量为 false
除了以下的一些运算符之外,Python还支持团体运算符,试验案例中涵盖了一系列的团体,涵盖字符串,表单或数组。
运算符描述实例
或者在指定的序列中找出值回到 True易语言5.1完美破解版,如果离开 False。
x 在 y 序列中 , 如果 x 在 y 序列中前往 True。
not in
或者在指定的序列中没有找到值回到 True,如果离开 False。
x 不在 y 序列中 , 如果 x 不在 y 序列中前往 True。
以上事例演示了Python所有团体运算符的操作:
#!/usr/bin/python# -*- coding: UTF-8 -*-a = 10b = 20list = [1, 2, 3, 4, 5]; if(ainlist): print"1 - 变量 a 在给定的表单中 list 中"else: print"1 - 变量 a 不在给定的表单中 list 中"if(bnotinlist): print"2 - 变量 b 不在给定的表单中 list 中"else: print"2 - 变量 b 在给定的表单中 list 中"# 修改字段 a 的值a = 2if(ainlist): print"3 - 变量 a 在给定的表单中 list 中"else: print"3 - 变量 a 不在给定的表单中 list 中"
以下事例输出结果:
1 - 变量 a 不在给定的列表中 list 中 2 - 变量 b 不在给定的列表中 list 中 3 - 变量 a 在给定的列表中 list 中
身份运算符用于相对两个对象的存储单元
运算符描述实例
is 是分析两个标识符是不是引用自一个对象
x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则前往 True,如果离开 False
is not
is not 是分析两个标识符是不是引用自不同对象
x is not y , 类似 id(a) != id(b)。如果引用的不是同一个对象则前往结果 True,如果离开 False。
注: id() 函数用来获取对象内存地址。

以上事例演示了Python所有身份运算符的操作:
#!/usr/bin/python# -*- coding: UTF-8 -*-a = 20b = 20if(aisb): print"1 - a 和 b 有相近的字样"else: print"1 - a 和 b 没有相同的字样"if(aisnotb): print"2 - a 和 b 没有相同的字样"else: print"2 - a 和 b 有相近的字样"# 修改字段 b 的值b = 30if(aisb): print"3 - a 和 b 有相近的字样"else: print"3 - a 和 b 没有相同的字样"if(aisnotb): print"4 - a 和 b 没有相同的字样"else: print"4 - a 和 b 有相近的字样"
以下事例输出结果:
1 - a 和 b 有相同的标识 2 - a 和 b 有相同的标识 3 - a 和 b 没有相同的标识 4 - a 和 b 没有相同的标识
is 与 == 区别:
is 用于分析两个变量引用对象能否为同一个(同一块内存空间), == 用于分析引用字段的值是否相等。
>>> a = [1, 2, 3] >>> b = a >>> b is a True >>> b == a True >>> b = a[:] >>> b is a False >>> b == a True
以上表格罗列了从最高到最低优先级的所有运算符:
运算符描述
指数 (最高优先级)
~ + -
按位转动, 一元加号和空格 (最终两个的原理名为 +@ 和 -@)
* / % //
乘,除,取模和取余数
乘法减法
>> <<
右移,左移运算符
&
位 'AND'
位运算符
<= < > >=
比较运算符
<> == !=
等于运算符
= %= /= //= -= += *= **=
赋值运算符
is is not
身份运算符
in not in
成员运算符
not and or
逻辑运算符
以上事例演示了Python所有运算符优先级的操作:
以下事例输出结果:
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-119222-1.html
霉菌给了中国加大岛礁建设的绝佳良机
反正从来不用小米的东西