Python零基础入门教程之语法入门运算符一
https://m.toutiao.com/is/e8odnt1/

在上一章中我们知道了什么是变量,了解了变量的定义、变量的命名规则以及变量的赋值。下面让我们一个个来学习Python的运算符。
什么是运算符?
本节主要说明Python的运算符。举个简单的例子 4 +5 = 9 。 例子中,4 和 5 被称为操作数,'+' 称为运算符。
Python语言支持以下类型的运算符:算术运算符、比较(关系)运算符、赋值运算符、逻辑运算符、位运算符、成员运算符、身份运算符、运算符优先级。
算术运算符
以下假设变量: a=10,b=20:
运算符 |
描述 |
实例 |
+ |
加 - 两个对象相加 |
a + b 输出结果 30 |
- |
减 - 得到负数或是一个数减去另一个数 |
a - b 输出结果 -10 |
* |
乘 - 两个数相乘或是返回一个被重复若干次的字符串 |
a * b 输出结果 200 |
/ |
除 - x除以y |
b / a 输出结果 2 |
% |
取模 - 返回除法的余数 |
b % a 输出结果 0 |
** |
幂 - 返回x的y次幂 |
a**b 为10的20次方, 输出结果 100000000000000000000 |
// |
取整除 - 返回商的整数部分(向下取整) |
>>> 9//2 4 >>> -9//2 -5 |
以下实例演示了Python所有算术运算符的操作:
#!/usr/bin/python # -*- coding: UTF-8 -*- a = 21 b = 10 c = 0 c = a + b print '1 - c 的值为:', cc = a - b print '2 - c 的值为:', cc = a * b print '3 - c 的值为:', c c = a / b print '4 - c 的值为:', c c = a % bprint '5 - c 的值为:', c # 修改变量 a 、b 、c a = 2 b = 3 c = a**b print '6 - c 的值为:', c a = 10 b = 5 c = a//b print '7 - c 的值为:', c
以上实例输出结果:
1 - c 的值为: 312 - c 的值为: 113 - c 的值为: 2104 - c 的值为: 25 - c 的值为: 16 - c 的值为: 87 - c 的值为: 2
注意:Python2.x 里,整数除整数,只能得出整数。如果要得到小数部分,把其中一个数改成浮点数即可。
比较运算符
以下假设变量a为10,变量b为20:
运算符 |
描述 |
实例 |
== |
等于 - 比较对象是否相等 |
(a == b) 返回 False |
!= |
不等于 - 比较两个对象是否不相等 |
(a != b) 返回 true |
> |
大于 - 返回x是否大于y |
(a > b) 返回 False |
< |
小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量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 = 0 if a == b : print '1 - a 等于 b'else: print '1 - a 不等于 b' if a != b : print '2 - a 不等于 b'else: print '2 - a 等于 b' if a < b : print '4 - a 小于 b' else: print '4 - a 大于等于 b' if a > b : print '5 - a 大于 b'else: print '5 - a 小于等于 b' # 修改变量 a 和 b 的值a = 5b = 20if a <= b : print '6 - a 小于等于 b'else: print '6 - a 大于 b' if b >= a : print '7 - b 大于等于 a'else: print '7 - b 小于 a'
以上实例输出结果:
1 - a 不等于 b2 - a 不等于 b3 - a 大于等于 b4 - a 大于 b5- a 小于等于 b 6- 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所有赋值运算符的操作:
#!/usr/bin/python# -*- coding: UTF-8 -*- a = 21b = 10c = 0 c = a + bprint '1 - c 的值为:', c c += aprint '2 - c 的值为:', c c *= aprint '3 - c 的值为:', c c /= a print '4 - c 的值为:', c c = 2c %= aprint '5 - c 的值为:', c c **= aprint '6 - c 的值为:', c c //= aprint '7 - c 的值为:', c
以上实例输出结果:
1 - c 的值为: 312 - c 的值为: 523 - c 的值为: 10924 - c 的值为: 525 - c 的值为: 26 - c 的值为: 20971527 - c 的值为: 99864
位运算符
按位运算符是把数字看作二进制来进行计算的。Python中的按位运算法则如下:
下表中变量 a 为 60,b 为 13,二进制格式如下:
a = 0011 1100b = 0000 1101-----------------a&b = 0000 1100a|b = 0011 1101a^b = 0011 0001~a = 1100 0011
运算符 |
描述 |
实例 |
& |
按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0 |
(a & b) 输出结果 12 ,二进制解释: 0000 1100 |
| |
按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。 |
(a | b) 输出结果 61 ,二进制解释: 0011 1101 |
^ |
按位异或运算符:当两对应的二进位相异时,结果为1 |
(a ^ b) 输出结果 49 ,二进制解释: 0011 0001 |
~ |
按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1 。~x 类似于 -x-1 |
(~a ) 输出结果 -61 ,二进制解释: 1100 0011,在一个有符号二进制数的补码形式。 |
<< |
左移动运算符:运算数的各二进位全部左移若干位,由 << 右边的数字指定了移动的位数,高位丢弃,低位补0。 |
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 = 0 c = a & b; # 12 = 0000 1100print '1 - c 的值为:', c c = a | b; # 61 = 0011 1101 print '2 - c 的值为:', c c = a ^ b; # 49 = 0011 0001print '3 - c 的值为:', c c = ~a; # -61 = 1100 0011print '4 - c 的值为:', c c = a << 2; # 240 = 1111 0000print '5 - c 的值为:', c c = a >> 2; # 15 = 0000 1111print '6 - c 的值为:', c
以上实例输出结果:
1 - c 的值为: 122 - c 的值为: 613 - c 的值为: 494 - c 的值为: -615 - c 的值为: 2406 - c 的值为: 15