第四次课:Python运算符
和其他编程语言一样,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 程序运行结果如图:
备注: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 程序运行结果如图:
赋值运算符
这里同样采用上面的变量和赋值,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 程序运行结果如图:
逻辑运算符
这里同样采用上面的变量和赋值,a=100,b=12
and布尔"与" -,如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值12or布尔"或",如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值100not 布尔"非" ,如果 x 为 True,返回 False 。如果 x 为 False,它返回 True
Flase 程序运行结果如图:
当然除了上述常用的运算符外,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逻辑运算符 下图操作演示了运算符优先级:
页:
[1]