返回介绍

布尔型

发布于 2024-01-29 22:24:17 字数 899 浏览 0 评论 0 收藏 0

对于Python的布尔类型有一些争论,bool原本是一个数字,因为它有两个值True和False,不过是整数1和0以不同的形式显示后的定制版本而已。尽管这是大多数程序员应该知道的全部,我们还是要稍深入地探索这个类型。

Python如今正式地有了一种明确的布尔型数据类型,叫做bool,其值为True和False,并且其值True和False是预先定义的内置的变量名。在内部,新的变量名True和False是bool的实例,实际上仅仅是内置的整数类型int的子类(以面向对象的观点来看)。True和False的行为和整数1和0是一样的,除了它们有特定的显示逻辑:它们是作为关键字True和False显示的,而不是数字1和0(从技术上来讲,bool为它的两个对象重新定义了str和repr的字符串格式)。

由于这个定制,布尔表达式在交互提示模式的输出就作为关键字True和False来显示,而不是曾经的1和0。此外,布尔型让真值更精确。例如,一个无限循环现在能够编写成while True:而不是while 1:。类似地,通过使用flag=False,可以更清楚地设置标志位。我们将在第三部分深入讨论这些语句。

还有对于其他实际的用途,你能够将True和False看做是预定义的设置为整数1和0的变量。大多数程序员都曾把True和False预先赋值为1和0,所以新的类型简单地让这个行为成为标准的技术。尽管它的实现能够导致奇怪的结果:因为True仅仅是定制了显示格式的整数1,在Python中True+4得到了5!

你可能不会在真正的Python代码中遇到像这里例子中最后一个那样的表达式,你可以完全忽略其更深入的形式上的含义。

我们将在第9章(去定义Python的真的概念)以及第12章(介绍像and和or这样的布尔操作符是如何工作的)重新介绍布尔型。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文