三. 运算、数据及逻辑
1.算数运算符
变量a为10,变量b为21:
运算符
描述
实例
+
两个对象相加
a+b = 31
-
得到负数或者减去另一个数
a-b = -11
*
两个字相乘得到的返回值,或者是一个序列重复若干次输出
a*b = 210
/
除法运算,默认得到浮点结果,注意格式化输出
b/a = 2.1
%
取模运算
b%a = 1
**
返回x的y次幂u
a**b 结果为10的21次幂
//
整除,返回商的整数部分
a//b = 2
对应的赋值运算符:
运算符
描述
实例
=
简单的赋值运算符
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
a = 21
b = 10
c = 0
c = a + b
print ("1 - c 的值为:", c)
c += a
print ("2 - c 的值为:", c)
c *= a
print ("3 - c 的值为:", c)
c /= a
print ("4 - c 的值为:", c)
c = 2
c %= a
print ("5 - c 的值为:", c)
c **= a
print ("6 - c 的值为:", c)
c //= a
print ("7 - c 的值为:", c)
输出结果:
1 - c 的值为: 31 2 - c 的值为: 52 3 - c 的值为: 1092 4 - c 的值为: 52.0 5 - c 的值为: 2 6 - c 的值为: 2097152 7 - c 的值为: 99864
2.python的位运算符
python的位运算符是把数字当做二进制数来运算的,数字可以以任一进制输入,但是进行位运算时以二进制形式。注意默认输出是以十进制形式,进行输出时,可以采用以下函数:
bin() 采用二进制
oct() 八进制
hex() 十六进制
输入时:
2 进制是以 0b 开头的: 例如: 0b11 则表示十进制的 3
8 进制是以 0o 开头的: 例如: 0o11 则表示十进制的 9
16 进制是以 0x 开头的: 例如: 0x11 则表示十进制的 17
运算符
描述
&
按位与运算符: 参与运算的两个值每一位进行“与运算”,得到结果以二进制表示</br >
|
按位或运算符: 每一位进行逻辑或运算,即二个位置中有1即为1
^
按位异或逻辑符: 对应位置不同时结果相应位置为1
~
按位取反逻辑符: 对数据的每个位二进制位取反,~x 类似于 -x-1
<<
左移逻辑符: 进行左移操作,右边参数为左移位数,每左移一位,数值扩大二倍
>>
右移逻辑运算符: 进行右移操作,每右移一位,原数值相当于缩小一半
3.逻辑运算符、成员及身份运算符
1)逻辑运算符
逻辑运算符包括 and or not
运算规则如下:
x and y:
if x==false return false;
else return y;
x or y:
if x==true return x;
else return y;
not x:
return -x
注意:
x和y可以是字符串对象或者数字,其中0和“”为假,其他为真。逻辑运算符可以连接多个对象,则and返回值为第一个为假的值,若所有只为真则返回最后一个值;or返回第一个为真的的值,所有值为假则返回最后一值,即逻辑运算需要遍历参加运算的每一个对象
2)成员运算符
in: 若在指定序列中找到该值则返回True 否则返回False
not in:与in作用相反
3)身份运算符
is:判断两个标识符是否是同一对象的引用,是则返回True
not is:---
函数id() 用于获取对象的内存地址,is 的用法x is y与id(x) == id(y)方式等价
is与==的区别:
is用于判断是否是同一对象的不同引用,而==用于比较对象的值是否相等
python具有intern机制在交互式环境中,会有一个小整数池对象,将[-5,256]这些整数对象,提前分配好空间,所有位于这个范围的引用公用一个对象,所以会出现:
a = 7; b = 7
(a is b) == True
Last updated
Was this helpful?