本章节主要说明Python的运算符。举个简单的例子4+5=9。例子中,4和5被称为操作数,"+"称为运算符。
Python语言支持以下类型的运算符:
算术运算符
比较(关系)运算符
赋值运算符
逻辑运算符
位运算符
成员运算符
身份运算符
运算符优先级
接下来让我们一个个来学习Python的运算符。
以下假设变量:a=10,b=20:
>>>9//24>>>-9//2-5以下实例演示了Python所有算术运算符的操作:
以上实例输出结果:
1-c的值为:312-c的值为:113-c的值为:2104-c的值为:25-c的值为:16-c的值为:87-c的值为:2注意:Python2.x里,整数除整数,只能得出整数。如果要得到小数部分,把其中一个数改成浮点数即可。
>>>1/20>>>1.0/20.5>>>1/float(2)0.5Python比较运算符以下假设变量a为10,变量b为20:
以下实例演示了Python所有比较运算符的操作:
1-a不等于b2-a不等于b3-a不等于b4-a大于等于b5-a大于b6-a小于等于b7-b大于等于aPython赋值运算符以下假设变量a为10,变量b为20:
以下实例演示了Python所有赋值运算符的操作:
1-c的值为:312-c的值为:523-c的值为:10924-c的值为:525-c的值为:26-c的值为:20971527-c的值为:99864Python位运算符按位运算符是把数字看作二进制来进行计算的。Python中的按位运算法则如下:
下表中变量a为60,b为13,二进制格式如下:
a=00111100b=00001101-----------------a&b=00001100a|b=00111101a^b=00110001~a=11000011运算符描述实例&按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0(a&b)输出结果12,二进制解释:00001100|按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。(a|b)输出结果61,二进制解释:00111101^按位异或运算符:当两对应的二进位相异时,结果为1(a^b)输出结果49,二进制解释:00110001~按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1。~x类似于-x-1(~a)输出结果-61,二进制解释:11000011,在一个有符号二进制数的补码形式。<<左移动运算符:运算数的各二进位全部左移若干位,由<<右边的数字指定了移动的位数,高位丢弃,低位补0。a<<2输出结果240,二进制解释:11110000>>右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,>>右边的数字指定了移动的位数a>>2输出结果15,二进制解释:00001111以下实例演示了Python所有位运算符的操作:
1-c的值为:122-c的值为:613-c的值为:494-c的值为:-615-c的值为:2406-c的值为:15Python逻辑运算符Python语言支持逻辑运算符,以下假设变量a为10,b为20:
1-变量a和b都为true2-变量a和b都为true,或其中一个变量为true3-变量a和b有一个不为true4-变量a和b都为true,或其中一个变量为true5-变量a和b都为false,或其中一个变量为falsePython成员运算符除了以上的一些运算符之外,Python还支持成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组。
以下实例演示了Python所有成员运算符的操作:
1-变量a不在给定的列表中list中2-变量b不在给定的列表中list中3-变量a在给定的列表中list中Python身份运算符身份运算符用于比较两个对象的存储单元
以下实例演示了Python所有身份运算符的操作:
1-a和b有相同的标识2-a和b有相同的标识3-a和b没有相同的标识4-a和b没有相同的标识is与==区别:
is用于判断两个变量引用对象是否为同一个(同一块内存空间),==用于判断引用变量的值是否相等。
>>>a=[1,2,3]>>>b=a>>>bisaTrue>>>b==aTrue>>>b=a[:]>>>bisaFalse>>>b==aTruePython运算符优先级以下表格列出了从最高到最低优先级的所有运算符:
以下实例演示了Python所有运算符优先级的操作:
(a+b)*c/d运算结果为:90((a+b)*c)/d运算结果为:90(a+b)*(c/d)运算结果为:90a+(b*c)/d运算结果为:50