首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

假如……

大家好,欢迎来到 Crossin的编程教室 !

与大多数编程语言一样,Python 代码是从上往下逐行运行。

但当程序稍稍复杂之后,单纯的线性执行就无法满足需要了。比如我们希望用户的输入满足某种条件时才进行响应,否则就不响应。这种情况下,就需要用到条件判断。

条件判断是程序控制流的一种。所谓控制流,就是指程序执行的路径控制,它决定了程序运行时的顺序和方式。除了条件判断,常见的控制流还有循环和函数调用等。

Python 的条件判断语句是 if 语句(“if”的英文原意是如果、假如),的它的基本语法是:

例如:

这短短的一段代码里,有不少值得注意的细节:

if 同所有的 Python 语法关键字一样是严格区分大小写的,if 二字必须全部小写英文字母。

判断条件可以是一个具体的值,也可以是变量、数学运算、比较运算等可被计算出结果的表达式,包括以后会讲到的函数调用,但不能是赋值语句。

判断条件之后有一个英文冒号(:)不要漏掉,也不要误写成中文全角的冒号。

条件满足所执行的代码行首需要有缩进,缩进多少没有硬性限制,但通常是 4 个空格(建议)或一个制表符(按下键盘上的 tab 键)。

条件满足所执行的代码可以是多行代码,被称为一个代码块。同级代码块需保持缩进一致。

那么,怎样才算做“条件满足”呢?

很简单,就是判断条件的结果为真。在 Python 中,等价于

所以,不管判断条件有多复杂,结果是什么类型,只要满足上面这个比较等式,就会执行其中的代码块。

这里有几个新手容易踩的坑:

在判断条件时把 == 写成了 =。两个等号(==)是判断左右两边的结果是否相等,结果是一个 bool 值;一个等号(=)则是变量赋值,不能作为 if 的条件。

用 == 判断浮点数的计算结果。比如 0.1 + 0.2 == 0.3,这个式子看起来没问题,但由于计算机中浮点数存在精度误差,无法做到绝对相等,所以这个式子的结果是 False。(没想到吧?)

对于0、空值等判断需要额外注意。0 和 None 转成 bool 类型都是 False,但 0 本身不是 None。

比如如下这个判断,如果 x 的值分别是 0、'0'、''、None,结果是不一样的:

想想看分别会输出什么?

关于 if 语句和条件判断还有不少细节,后续我们还会展开来细说。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/ODEYIT5cW4CLW5pPE4yJkcMg0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券