返回介绍

比较:一般的和连续的

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

到目前为止,我们已经介绍了标准数字操作(加法和乘法),但是,还可以比较数字。一般的比较就像我们所期待的那样对数字起作用,它们比较操作数的相对大小,并且返回一个布尔类型的结果(我们通常会在更大的语句中测试该结果):

str和repr显示格式

从技术上来说,默认的交互模式回显和打印的区别就相当于内置repr和str函数的区别:

这两个函数都会把任意对象变换成它们的字符串表示:repr(也就是默认的交互模式回显)产生的结果看起来就好像它们是代码。str(也就是打印语句)转变为一种通常对用户更加友好的格式。一些对象两种方式都有:str用于一般用途,repr用于额外细节。这个概念将会为我们学习字符串以及类中的运算符重载做好铺垫,并且本书稍后会介绍关于这些内置函数的更多内容。

除了为任意对象提供打印字符串,str内置函数也是字符串数据类型的名字,并且能够用一个编码的名字来调用,从而从一个字节字符串解码一个Unicode字符串。我们将在本书第36章学习这一高级功能。

再次注意数字表达式中是如何允许混合类型的(仅仅是数字表达式);在这里的第二个测试中,Python比较了更为复杂的类型(浮点类型)的值。

有趣的是,Python还允许我们把多个比较连续起来执行范围测试。连续的比较是更大的布尔表达式的缩写。简而言之,Python允许我们把大小比较测试连接起来,成为诸如范围测试的连续比较。例如,表达式(A<B<C)测试B是否在A和C之间;它等同于布尔测试(A<B and B<C),但更容易辨识(和录入)。例如,假设如下的赋值:

如下的两个表达式具有相同的效果,但是,第一个表达式简单而便于录入,并且,由于Python只需要计算Y一次,它运行起来可能略快一点:

获得false结果也是一样的,并且允许任意的连续长度:

我们可以在连续测试中使用其他的比较,但是,最终的表达式可能变得很晦涩,除非你按照Python的方式来计算它们。例如,如下表达式结果是false,因为1并不等于2:

Python并不会把1==2的False的结果和3进行比较,这样做的话,在技术上的含义和0<3相同,将会得到True(我们将在本章稍后了解到,True和False只不过定制为1和0)。

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

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

发布评论

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