[Python]整数和浮点数,布尔类型

来源:互联网 发布:网络监视窥探隐私 编辑:程序博客网 时间:2024/04/29 15:50
整数和浮点数
python整数运算结果仍是整数
浮点数运算结果仍然是浮点数
整数和浮点数运算完仍是浮点数
整数除法除不尽仍是整数 余数被直接扔掉
求余运算符号 %
整除符号 /
要想计算精确结果 把整数变成浮点数
11.0 / 4



布尔类型

#->为输出结果

python把0 空字符串''和None看成False
短路计算
a = True
print (a and 'a = T' or 'a = F')
结果不是布尔类型 而是a = T
#->a =T
a = True
print (a and 'a = T' or 'a = F')
#->a = T


在计算a and b 时

如果a是False则根据与运算法则 0&&b
结果必然是False
因此返回a

如果a是True 则整个计算结果必定取决于b
因此返回b

在计算a or b 时
如果a是True则根据或运算法则 1 ||b
整个计算结果必定为True 则根据或运算法则
整个结果必定为True
因此返回a
如果a是False则根据或运算法则 0 || b
结果取决于b
因此返回b

所以Python解释器在做布尔运算时,
只要能提前确定计算结果,

它就不会往后算了,直接返回结果。

几个简单的例子

a = 'python'
print('hello,',a and 'world')
#->hello, world


a = 'python'

print ('hello,', a or 'world')
#hello python a || 1
#hello, python


a = ' '

print ('hello,', a or 'world')
#hello world  a || 1
#hello, 


a = ' '

print('hello,',a and 'world')
#hello, world


a = ' '

print('hello,','world' and a )
#hello,  



0 0