我最近进入了高尔夫代码,需要尽可能多地保存字符。
我记得看到有人说使用if a/b:
代替if a<=b:
。但是,我查看了Python文档并没有看到任何类型。
我可能记得这一切都错了,但我很确定我已经看到过这个运算符在多个实例中被使用和推荐。
这个运营商是否存在?如果是这样,它是如何工作的?
答案 0 :(得分:6)
那只是分裂。并且,至少对于整数a >= 0
和b > 0
,a/b
如果a>=b
是真实的。因为,在这种情况下,a/b
是一个严格正整数,bool()
应用于非零整数是True
。
对于零和负整数参数,我相信你可以为自己找出a/b
的真实性。
答案 1 :(得分:5)
>>> 5/6
0
>>> bool(5/6)
False
>>> 6/5
1
>>> bool(6/5)
True
这是Python 2.7中的/
运算符进行整数除法,然后将结果转换为布尔值的结果。
如果你执行from __future__ import division
,这将不再起作用,因为/
运算符将执行浮点除法而不是整数除法。
因此> 0
的结果仍为x < y
,仍会评估为True。
>>> from __future__ import division
>>> 5/6
0.8333333333333334
>>> bool(5/6)
True
>>> 6/5
1.2
>>> bool(6/5)
True