在Python中语句x,y=1是合法的,python条件表达式的值只有两种,它们是

  在Python中语句x,y=1是合法的,python条件表达式的值只有两种,它们是

  if的基本格式

  if语句用于判断和选择要执行的语句分支。基本格式如下:

  如果条件1:

  代码块(1)

  elif条件2:

  代码块(2)

  elif条件3:

  .

  .

  否则:

  代码_块_其他

  其中elif是可选的,可以有任意数量的elif,else是可选的,指示当不满足所有条件时要执行的分支。

  例如:

  a=4

  如果一个3:

  打印(“hello world”)

  条件表达式的条件部分以运算结果的真与假作为if分支执行的依据。在Python中,所有的数据对象不是真就是假,所以任何数据或者表达式都可以作为if的条件。例如:

  如果1:

  .

  如果一个b:

  .

  如果是“a”:

  .

  如果[]:

  .

  如果[[]]:

  .

  如果a和b:

  .

  至于如何判断真假,参见布尔值和逻辑运算。

  开关/外壳的替代品

  python中没有switch和case的分支选择语句,但是可以通过使用if或dict轻松实现。

  例如,使用dict实现等效分支选择:

  D={

  苹果:8.0,

  梨:3.5,

  橙色:2.5,

  香蕉:2.5

  }

  水果=香蕉

  打印(D[水果])

  上面提供的default的情况下是没有分支的,但是在dict中找不到key的时候可以用get()来设置默认返回的值。例如:

  print(D.get(greens , no this fruit ))

  您还可以通过中的成员资格测试来设置分支:

  如果水果在D:

  打印(D[水果])

  否则:

  打印(“没有这个水果”)

  Dict只能进行等价比较的分支选择,if语句只能提供非等价的分支比较。

  例如:

  得分=77

  如果得分=90:

  打印(“优秀”)

  elif 70=得分90:

  打印(“好”)

  elif 60=得分70:

  打印(“通过”)

  否则:

  打印(“失败”)

  使用if的好处是容易理解,使用dict的好处是将数据存储到数据结构中,数据结构可以非常复杂。比如用函数作为dict的值。

  If/else三元表达式

  所谓的三元运算,只不过python中不支持X?Y: z方式,但另一个表达式语法使用if。

  for if x:XXX;像else yyy这样的双分支语句可以用一个更简洁的表达式来描述:

  xxx if x else yyy

  虽然看起来和原来没什么区别,但是很多情况下方便很多。例如,任务:

  如果x:

  a=y

  否则:

  a=z

  等效三进制if写:

  a=y如果x否则z

  注意上面的=表示这一整行是赋值语句,右边的是求值对象。求值后赋给A,相当于a=(y if x else z)而不是(A=y if x else z)。

  Else不能缺,否则不是三元运算。另外,if的分支代码体Y和Z必须只能是单语句,不能是多语句。即下面的代码格式不能转换成三元表达式。

  如果x:

  陈述1

  陈述2

  否则:

  陈述3

  陈述4

  实际上,三元运算也可以通过and/or和序列bool()来实现。

  例如:

  a=((x和y)或z)

  通常,and/or很少用于实现分支,因为它不可读,并且不总是等效于if。但是,有一种情况非常方便使用和/或:从多个值中选择一个真值。例如:

  a=x或y或z或无

  下面是用序列bool()实现的三元运算,思路是bool(条件)是序列的索引。

  a=[y,z][bool(x)]

  同样,在python中,简单易懂的方法总是首选。所以,用if。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: