和其他编程语言一样,Python也拥有运算符,用于执行程序代码运算,常用的运算符有1. Python算术运算符2. Python关系运算符3. Python赋值运算符4. Python 逻辑运算符,下面就依次介绍下各个运算符的使用方法:

算术运算符

为了更加直观清晰地分辨出各个运算符之间的差异,这里先申明两个变量a、b,并赋值a=100、b=12;

+两个对象相加

a+b的值是: 112

-两个数相减

a-b的值是: 88

*两个数相乘或是返回一个被重复若干次的字符串

a*b的值是: 1200

/两个数相除

a/b的值是: 8

%取模 - 返回除法的余数

a%b的值是: 4

**幂 - 返回a的b次幂

a**b的值是: 1000000000000000000000000

//取整除 - 返回商的整数部分a//b的值是: 8

程序运行结果如图:

第四次课:Python运算符_Python

备注:Python2.x 里,整数除整数,只能得出整数。如果要得到小数部分,把其中一个数改成浮点数即可。

如100/12.0=8.33333333333,因为12.0是浮点数

关系运算符

这里同样采用上面的变量和赋值,a=100,b=12

==等于,比较对象是否相等(a == b) 返回 False
!=不等于,比较两个对象是否不相等(a != b) 返回 true
<>不等于,比较两个对象是否不相等,这个运算符类似 !=(a <> b) 返回 true。
>大于,返回a是否大于b(a > b) 返回 true
<小于,返回a是否小于b所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写,(a < b) 返回 false
>=大于等于

返回a是否大于等于b,true

<=小于等于返回a是否小于等于b,false

程序运行结果如图:

第四次课:Python运算符_Python_02

赋值运算符

这里同样采用上面的变量和赋值,a=100,b=12

=简单的赋值运算符c = a + b 将 a + b 的运算结果赋值为 c=112
+=加法赋值运算符c += b 等效于 c = c + b,返回 124
-=减法赋值运算符c -= b 等效于 c = c - b,返回 112
*=乘法赋值运算符c *= b 等效于 c = c * b,返回 1344
/=除法赋值运算符c /= b 等效于 c = c / b,返回 112
%=取模赋值运算符c %= b 等效于 c = c % b,返回 4
**=幂赋值运算符c **= b 等效于 c = c ** b,返回 16777216
//=取整除赋值运算符c //= b 等效于 c = c // b,返回 1398101

程序运行结果如图:

第四次课:Python运算符_运算符_03

逻辑运算符

这里同样采用上面的变量和赋值,a=100,b=12

and布尔"与" -,如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值12
or布尔"或",如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值100
not

布尔"非" ,如果 x 为 True,返回 False 。如果 x 为 False,它返回 True

Flase

程序运行结果如图:

第四次课:Python运算符_Python_04

当然除了上述常用的运算符外,Python还有位运算符、成员运算符、身份运算符。

位运算符把数字看作二进制来进行计算的,有

按位与运算符:   &(参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0

按位或运算符:    |(只要对应的二个二进位有一个为1时,结果位就为1) 

按位异或运算符:^(当两对应的二进位相异时,结果为1) 

按位取反运算符:~(对数据的每个二进制位取反,即把1变为0,把0变为1 。~x 类似于 -x-1) 

左移动运算符:   <<(运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0) 

右移动运算符:    >>(把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数

成员运算符

in(如果在指定的序列中找到值返回 True,否则返回 False

not in(如果在指定的序列中找到值返回 True,否则返回 False

身份运算符

is(判断两个标识符是不是引用自一个对象)

is not(判断两个标识符是不是引用自不同对象)

备注:is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等。

运算符优先级

当多个运算符同时作用在一个程序中时,它们是有内在的执行优先级的,下面就用一张表罗列下:

**指数 (最高优先级)
~ + -按位翻转、正负号
* / % //乘,除,取模和取整除
+ -加法减法
>> <<右移,左移运算符
&位 'AND'
^ |位运算符
<= < > >=比较运算符
<> == !=等于运算符
= %= /= //= -= += *= **=赋值运算符
is is not身份运算符
in not in成员运算符
not and or逻辑运算符

下图操作演示了运算符优先级:

第四次课:Python运算符_Python_05