gpt4 book ai didi

python - 为什么 bool 是 Python 3 中 int 的子类?

转载 作者:行者123 更新时间:2023-11-28 20:02:03 24 4
gpt4 key购买 nike

<分区>

自从引入bool以来,它就是int的子类,bools可以隐式地“转换”成整数:

>>> issubclass(bool, int)
True
>>> ['one', 'two'][False]
'one'
>>> ['one', 'two'][True]
'two'
>>> True/20
0.05

这是出于历史原因:与 pre-2.3 API 的兼容性;我知道它从 2.3 保留到 2.7。 (这在 2011 年的 this question 中得到解决)

但是,为什么在 Python 3 中仍然如此?我看不出有什么好处。并且没有理由为了向后兼容而保留它:Python 3.0 是一个突破性的版本;而且我不认为任何 2.3 之前的 API 仍然存在。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com