使用'/'大于小于Python?

Rag*_*age 6 python comparison operators python-2.7

我最近进入了高尔夫代码,需要尽可能多地保存字符.

我记得看到有人说要用if a/b:而不是if a<=b:.但是,我查看了Python文档并没有看到任何类似的东西.

我可能记得这一切都错了,但我很确定我已经看过这个运算符在多个实例中使用和推荐.

这个运营商是否存在?如果是这样,它是如何工作的?

Dav*_*nan 6

那只是分裂.而且,至少在整数a >= 0和b > 0,a/b是truthy如果a>=b.因为,在那种情况下,a/b是一个严格正整数并bool()应用于非零整数True.

对于零和负整数参数,我相信你可以a/b为自己找出真实性.


Fla*_*lau 5

>>> 5/6
0
>>> bool(5/6)
False

>>> 6/5
1
>>> bool(6/5)
True
Run Code Online (Sandbox Code Playgroud)

这是/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
Run Code Online (Sandbox Code Playgroud)

  • 在python 3中,你可以使用// b,但与<= b相比,它不会保存任何字符 (2认同)