课时40:if语句_2
摘要:本文围绕Python的if语句展开,介绍了if语句中代码块的概念及缩进规则,通过实例说明了如何使用逻辑运算符连接多个条件进行判断,还阐述了Python中缩进的两种方式(tab键和空格)及官方推荐使用空格的原因和设置方法,最后布置了一个利用if语句判断用户输入用户名的练习,并提示使用`input`函数获取用户输入。
1.if语句代码块与缩进
2.多条件判断与逻辑运算符的使用
3.Python缩进方式及设置
4.练习布置与`input`函数提示
01、 if语句代码块与缩进
刚刚我们介绍了最简单的if语句。if语句本身不难,主要要注意代码块。在Python中,缩进就表示代码块。当出现第一个缩进时,代码块就开始了;当缩进恢复到上一个缩进级别时,代码块就结束了。比如这里的`print`语句,如果它和`if`处于同一缩进级别,那它就不属于`if`语句的代码块。代码块里的代码,要么都执行,要么都不执行。
02、 多条件判断与逻辑运算符的使用
接下来继续演示。我先把条件改成`False`,这样代码块就不会执行了。我们还是以`Number`为例,现在`Number=10`。我写一个`if
Number
>10
`,然后`print('Number比10大')
`,保存并运行,发现没有执行。这是因为`Number`等于10,并不比10大。当我把`Number`改成20时
,再运行,就会输出`Number比十大
`。
我再改一下条件,不仅要求`Number`比10大
,还要求`Number`比20小
。我把`Number`改成18
,运行后,`Number比十大,Number比20小`
就输出了。但这里有个问题,如果我把`Number`改成28,按常理它不在10和20之间,可这句话依然会输出。这是因为我们在条件里只判断了`Number`是否大于10,没有判断是否小于20,只要`Number`比10大,就会输出。
现在有两个条件,一个是`Number`要比10大,另一个是`Number`要比20小,这两个条件需要同时满足。那该怎么写?很简单,我们要用逻辑运算符`and`来连接这两个条件,即`Number>10 and Number<20`
。保存并运行,发现不执行了。因为`Number`是28,虽然满足大于10,但不满足小于20,一个条件为`True`,一个条件为`False`,根据`and`的规则,返回`False`,所以代码块不会执行。把`Number`改成18再运行,就可以执行了;改成8运行,也不会执行。
这里要注意逻辑运算符的运用,当需要多个条件时,可以用逻辑运算符来连接。`and`用于需要所有条件同时满足的情况;而`or`则表示只要有一个条件满足即可。如果用`or`连接`Number>10 or Number<20
`,那就意味着`Number`比10大或者比20小都行,这样所有的数都会满足条件。所以一定要区分什么时候用`and`,什么时候用`or`。如果需要两边同时满足就用and,如果只需要一个条件满足就用or。
在Python中,还有一种写法。可以写成`10<Number<20
`,这种写法和`Number>10 and Number<20
`效果是一样的。当`Number`是8时,不会执行;改成18时,就会执行;改成28时,又不会执行。这种连着写的方式是Python独有的,它就相当于用`and`连接两个条件。
03、 Python缩进方式及设置
在Python里,是用缩进来表示代码块的。缩进有两种方式,一种是使用`Tab`键,另一种是使用空格,而且这里的空格是指四个空格。这两种方式用哪种都行,但Python官方文档推荐使用空格。为什么?因为`Tab`键在不同的文本编辑器里显示效果可能不一样,有些编辑器缩进显示长,有些显示短,这可能导致代码在不同编辑器里查看效果不一致。而空格一般大小是固定的,能保证在不同编辑器里看到的效果一样。
不过在实际使用中,两者差距没那么大。在开发时,用`Tab`键或者空格都行。如果公司习惯用`Tab`键,你就用`Tab`键;公司习惯用空格,你就用空格。但要注意,Python代码中使用的缩进方式必须统一,要么全用`Tab`键,要么全用空格,不能一行用`Tab`键,一行用空格,否则会报错。
有些同学可能觉得按四个空格太麻烦。其实现在大部分编辑器都有自动把`Tab`键转换成空格的功能。比如我按一下`Tab`键,当用方向键往回走或者用删除键往回删时,会发现是一个一个删的,这说明`Tab`键实际上已经被转换成四个空格了。要设置把`Tab`键转换成空格,在老版本里直接找设置用户,新版本点设置就行。然后找到`translate tabs to space
`,把这句话加到配置文件里,以后输入`Tab`键就会自动转换成空格。当然,这不是强制的,具体还是要根据公司习惯来。
04、 练习布置与`input`函数提示
到这里,最简单的if语句就讲完了。下面留一个小练习,在命令行中获取用户的输入,让用户输入一个用户名,然后进行判断。如果用户输入的用户名是`admin`,就显示`欢迎管理员光临`;如果输入的是其他用户名,则什么也不做。问题来了,我们怎么让用户输入一个用户名。
要完成这个功能,需要调用一个函数来获取用户的输入。我们可以在Python的文档中查找,找到Python3.6的手册,在`Python Standard Library`(标准库)的`Built-in Functions`(内置函数)
里找。之前用的`print`函数就在这里,而获取用户输入要用`input`函数。现在要求大家自己尝试使用这个`input`函数。