python - python中的“大于”或“等于”与“等于”或“大于”
问题描述
为什么我们使用“大于”或“等于”,而不是“等于”或“大于”?
foo = 1
if foo >= 1:
print("Greater than 1")
>>> Greater than 1
而以下会引发 SyntaxError:
foo = 1
if a => 1:
print("Greater than 1")
为什么使用比较运算符的顺序会有所不同?
解决方案
>=
是一个运算符,而不是两个。与 相同<=
。至于为什么顺序是现代编程语言的方式,答案只是“约定”。
做出>=
/<=
而不是=>
/的决定=<
是按照惯例,并且在几乎所有使用比较运算符的现有编程语言中都很常见。据我所知,使用比较运算符的最古老的编程语言是 FORTRAN 和 COBOL,它们都遵循>=
/<=
约定。
我不知道一开始是否有更多的设计原理,除了在数学中我们说“大于或等于”,而不是“等于或大于”,因此>=
更准确地反映了这一点。
至于为什么=>
和=<
无效,主要是为了避免冗余和/或混淆。Python 有一个原则,即“应该有一种,最好只有一种明显的做事方式”,但在我所知道的所有其他语言中也是如此。值得注意的是,在其他一些编程语言中=>
具有完全不同的含义,尤其是 Javascript,它表示 lambda 表达式。
推荐阅读
- javascript - 在两个不同的点击事件之间传递数组值
- python - 在 jupyter notebook 中使用 .so python 库进行多处理
- javascript - 根据JS中的另一个数组对Array的一部分进行排序
- c++ - assert 对于我给它的每个输入都在 bash 中工作,即使它是错误的?如何解决这个问题?
- pentaho - 在根级别的 Javascript 作业条目中设置变量
- c - Linux syscall clock_settime(...) 在 Docker 容器中因 EPERM 而失败
- json - 使用 SwiftyJSON 从 NSObject 创建 JSON 文档
- cassandra - Cassandra system_auth 复制因子 2 是什么意思?
- java - Spring session 延迟反序列化
- java - Android Studio 无法将文件粘贴到资产文件夹