一.基本的数学运算符
+加,两个对象相加,用来计算最基本的加法,比如1+1,等于2。(同时,加法还可以用来拼接字符串)
2. -减,可以让两个数相减,活着定义负数。2-1等于1。
3.*乘,可以让两个数字相乘,5*5等于25,*乘法也可以用在字符串上,可以使一个字符或者字符串重复若干次。
4./除,两个数相除,做除法运算。
5.%取模运算,就是取余数。
6.**用来算几是几的几次方,比如10的20次方 10 ** 20 最后得出的结果是100000000000000000000。
7.//整除,只返回商,不返回余数。
二.比较运算符。
==(等于) 判断两个对象是否相等,如果相等返回True。
!= (不等于) 当两个对象不相等时,返回True.
<>(不等于) 个人认为和!= 功能一模一样,都是判断两个对象是否不相等,没有任何差别~
> (大于) 判断一个值是否大于另外一个值,如果大于为True。
< (小于) 判断一个值是否小于另外一个值,如果小于为True。
>=(大于等于) 判断一个值大于并等于另外一个值时,才为True。
<=(小于等于) 判断一个值小于并等于另外一个值时,才为True。
三.赋值运算符。
= 最简单的赋值,简单的说就是用来给变量赋值,比如说a = 1+2,print a 最后的结果a就等于3。
name = “suhaozhi”,给一个名为name的变量赋值。
+= 加法赋值运算符,一般情况下用来做自增,假如说a = 0 ,a+=1 实际上就是a = a+1。
-= 减法赋值运算符,用来做自减a -= 1实际上就相当于 a = a-1。
*= 乘法赋值运算符,a *= 5 就表示 a = a * 5 ,每执行一次a都会自动*5。
/= 除法赋值运算符,a /= 5 表示a = a /5 ,每执行一次a都会自动除5。
%= 取模赋值运算 a %=1 实际上就相当于 a = a %1 。
**= 次方赋值运算 a **= 2 相当于 a = a**2。
// = 取整除赋值运算 a //= 2 相当于a = a // 2。
四.位运算。
& 将十进制转换为2进制,然后每一位都进行与运算。(这个符号也可以成为按位与运算符)
例如说123 和 456 这两个数字的二进制进行与运算,就是123 & 456,首先将123转换为二进制是001111011,然后在将456转换为二进制111001000,与运算开始,最后得到的结果是1001000 转换成10进制就是72。
| 按位或运算符,同样,也是将十进制先转换为二进制,然后逐位进行或运算后,在转换为十进制,和&一样,只不过每一位都是或运算。
^ 按位异或运算符,将两个数都转换为二进制,两个数的同一位相异时,这一位就为1,依旧拿123和456举例子吧,首先都转换成2进制,123=001111011 456=111001000 然后逐位比对,如果相异,就为1,相同就为0,最后的结果就是110110011 转换为十进制就是135。
<< 左移动运算位,将准备运算的数从十进制转换成二进制,往左移几位,右边不够的地方用0填。
拿123距离,转换为二进制为1111011 假如,现在需要这个数向左移动两位,那这个二进制后面就需要添两个0,123 << 2 结果就是111101100 转换为十进制就是492。
>> 右移动运算位,将准备运算的数从十进制转换成二进制,往右移几位,如果没地方移了,从右边开始删几位,依旧拿123来举例1111011 右移两位后变成了11110,转换成十进制就是30。
五.逻辑运算。
and 与运算,两边都为真结果才为真。
or 或运算,两边只要有一边为真就为真。
not 非,当条件不满足时,返回True。
关于逻辑运算,and和or的返回值并不是布尔值,上面说的满足条件为真,是为了便于理解。
补充:使用这种逻辑运算,还是使用()括号,括号中的算式会被优先运算。
六.成员运算符。
成员运算符,用于判断实例中是否有指定的成员,比如说某个列表,活着元组中是否有指定的元素,字典中是否有指定的key,字符串中是否有指定的字符之类的。
in 在指定的序列中,存在想要找的元素,返回True,否则返回False。
not in 和in是相反的,在指定序列中没有找到指定的元素,责返回True,找到了会返回False。
七.身份运算符。
用于比较两个对象是否在同一个存储单元。
is 两个对象的内存地址一样,责返回1,也就是为真,否则返回空。
not is 两个对象的内存地址不一样 责返回1.为真,否则返回空。
这个身份运算符,主要就是看,这两个标识符是不是为同一个对象,内存地址空间是否一样。
补充:如果相查询一个对象的内存地址,可以使用id()函数取查询。
八.关于运算的优先级。
本文出自 “reBiRTH” 博客,请务必保留此出处http://suhaozhi.blog.51cto.com/7272298/1905386
原文:http://suhaozhi.blog.51cto.com/7272298/1905386