美文网首页
理解分支语句和boolean表达式

理解分支语句和boolean表达式

作者: 醉看红尘这场梦 | 来源:发表于2020-03-12 09:47 被阅读0次

可以说,任何一个真正有用的程序,都至少包含一个条件分支语句。但是,秉承着“一件事件只有一种做法”的原则,在Python里,我们只能使用if ... elif ... else在多个条件中选择,而没有类似switch...case这样的用法。

使用if语句

由于Python是使用缩进表示代码块的,而没有类似{}这样的语法。因此,它的if语句用起来和C或Swift这样的语言有些不同:

num = 2

if num < 10:
    content = '{0} is less than 10'.format(num)
    print(content)

可以看到:

  • Python中的if语句后面,要使用:表示语句结束
  • 属于if代码块的语句,必须有相同的缩进,因此,下面的写法都会导致运行时错误:
'''
!!! The following code will crash. DO NOT do it.
'''
if num < 10:
     content = '{0} is less than 10'.format(num)
    print(content)

if num < 10:
    content = '{0} is less than 10'.format(num)
        print(content)

了解了if的写法之后,各种分支条件的写法就很简单了:

if num < 10:
    content = '{0} is less than 10'.format(num)
    print(content)
elif 10 < num < 20:
    print('between 10 and 20')
else:
    print('greater than or equal to 20')

不太一样的Boolean操作

在上面这个例子里,elif10 < num < 20这样的形式连接了两个判断,即num > 10并且num < 20,但在现实生活中,要同时判断的,并不是同一个事物。当我们要判断多个不同条件的时候,就需要使用Boolean运算,和你在其他编程语言中的经验不同的是,Python的逻辑运算,更接近自然语言。例如,之前的num判断还可以写成这样:

f num < 10:
    content = '{0} is less than 10'.format(num)
    print(content)
elif num > 10 and num < 20:
    print('between 10 and 20')
else:
    print('greater than 20')

注意到and的用法了么?它和其他语言中的&&运算符含义是相同的,表示要求条件同时成立。除了and之外,我们还可以使用or表示“只要有一个成立”,它和其他语言中的||操作符是类似的:

elif num == 10 or num == 20:
    print('equal to 10 or 20')

或者,使用not表示“当前条件不成立”,它和其他语言中的!操作符是类似的:

elif not num == 10:
    print('not equal to 10')

当然,这里“不等于10”是可以有它自己更直观的写法的:

elif num != 10:
    print('not equal to 10')

通常,我们在更一般的boolean表达式中,使用not,例如这样:

elif num not in [10, 20]:
    print('not equal to 10 or 20')

哪些值会被认为是False

理解了boolean表达式之后,我们来看Python中哪些值会被认为是False:简单来说,就是一切有空值语义的值。因此,除了类似2 == 3这种结果为False之外,当Python评估下面这些表达式的时候,也都会认为是False

if not "":
    print('empty string')

if not ():
    print('empty tuple')

if not []:
    print('empty list')

if not None:
    print('none')

name == 'main'

由于这一节我们提到了if,在最后,来看一个经常会在Python脚本中见到的写法:

if __name__ == '__main__':
    print('execute as a single script.')

其中,__name__是Python中的一个特殊变量,当脚本被Python解释器独立执行的时候,就会把它设置成__main__。稍后会看到,我们还可以使用import导入其他Python代码,这时,对应文件的__name__变量就不再是__main__了。

因此,上面的代码作用就是,执行一些当脚本被独立执行时才执行的代码,通常我们要独立调试某个Python文件的时候,会用到这个特性。

相关文章

  • 理解分支语句和boolean表达式

    可以说,任何一个真正有用的程序,都至少包含一个条件分支语句。但是,秉承着“一件事件只有一种做法”的原则,在Pyth...

  • 流程结构控制

    分支结构 1. if 语句中的条件表达式的值必须是boolean 型。如果if 条件为真,那么执行语句块一,否则执...

  • Day-3

    三大结构 顺序 分支 循环 分支 分支的基本语法if 条件表达式:语句1语句2语句3...... 条件表达式就是计...

  • Python循环

    分支 分支的基本语法 if 条件表达式: 语句1 语句2 语句3 ......

  • python学习笔记03-三大结构

    03 三大结构 - 顺序 - 分支 - 循环 分支语句 单路分支 if 条件表达式: 语句1 语句2 ...

  • 突然站起来了

    if语句: if语句可以分为单分支和多分支,多分支又可以分为两种 if(表达式){ 条件成立,执行 }else...

  • C++程序控制结构

    if 语句 if语句有两种形式,一个分支和两个分支的 if-else 语句 switch语句 表达式形如 case...

  • Python 学习之路-03 分支循环

    三大结构 顺序 分支 循环 分支 单向分支 分支的基本语法if 条件表达式:语句1语句2语句3........ 条...

  • 七、分支与循环

    1、分支结构 1.1、if分支语句 1.2、多分支结构(if-elif-else) elif语句允许检查多个表达式...

  • IF使用详解

    一, 格式 1.1 单分支语句结构 if [ 条件表达式 ]; then指令fi 1.2 双分支语句结构 if [...

网友评论

      本文标题:理解分支语句和boolean表达式

      本文链接:https://www.haomeiwen.com/subject/wjqyjhtx.html