花下猫语:在上一篇《Python 为什么能支持任意的真值判断? 》文章中,我们分析了 Python 在真值判断时的底层实现,可以看出 Python 在对待布尔值时,采用了比较宽泛的态度。官方对此是怎么考虑的呢?
下面的文章是我刚翻译的 PEP-285,作者是 Python 之父 Guido van Rossum。这个 PEP 意义非常重大,Python 的 bool 类型就是从它开始引入的,而我在上篇文章中分析到的很多问题,都能在这篇十几年前的文档中找到解释!另外它还回应了比较典型的一些争议,值得大家了解下。
PEP标题: PEP 285 -- Adding a bool type
PEP作者: Guido van Rossum
创建日期: 2002-03-08
合入版本: 2.3
译者 :豌豆花下猫@Python猫公众号
PEP翻译计划 :https://github.com/chinesehuazhou/peps-cn
概要
本 PEP 提议引入一个新的内置类型bool
,它将包含两个常量False
和True
。这个 bool 类型是 int 类型的直接子类型(在 C 中),并且在除了 repr() 和 str() 之外的大多数方面,它的值False
和True
都将表现得像是 0 和 1(例如,False == 0 和 True == 1 都为真)。
所有在概念上需返回布尔结果的内置操作,都将更改为返回 False 或 True,而不再是 0 或 1,例如,比较操作、“not”运算和 isinstance() 之类的断言方法。
评审
我已经收集了太多太多的反馈意见,因此我宣布:评审阶段(review period)正式结束。 我今天吃的是中国菜,我的签语饼上写着:“Strong and bitter words indicate a weak cause.” 它使我想起了一些反对本 PEP 的帖子...
标签:__,Java,Python,18,int,bool,False,True,布尔 From: https://blog.51cto.com/u_14244765/5751241