Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。

获取条件语句的执行结果的过程就是真假值判断

 #首先需要说明在Python中
 #假值(False):0、None、空对象('',[],{})
 #真值(True) :除了假值以外的值
 #如果拿到一个对象,不知道其为False还是True,可以用bool()函数来判断

 print(bool(''))   #False

 #单独的一个对象的布尔值确定了
 #如果一个对象和其他对象进行比较,比较结果的布尔值如何确定
 #就拿数字类型的对象间的关系:>(大于)、<(小于)、==(等于)、>=(大于等于)、<=(小于等于)

 print(3 > 5)      #False

 #如果需要多个条件表达式配合,就要用到or、and
 #or 表示“或”的关系 即两个条件表达式中只要有一个的结果为True,该真假值测试的结果即为True
 #and表示“与”的关系 即两个条件表达式中的结果均为True,该真假值测试的结果即为True

 #Python中的条件真假值判断是短路的,一旦真假值判断结果确定就停止布尔运算
 #举个栗子,如 or 前后的两个条件表达式,如果前边的结果为True,or后的条件表达式就不再运算,即可得出最后的结论,该真假值判断的结果为True

Python 编程中 if 语句用于控制程序的执行,基本形式为:

 score = 57

 if score >= 60:
     print('及格')
 else:
     print('不及格')
其中"判断条件"成立时(非零),则这行后面的语句,而执行内容可以多行,以缩进来区分表示同一范围。
当判断条件为多个值是,可以使用如下形式:
 score = 57
 if score >= 90:
     print('优秀')
 elif score >= 80:
     print('良好')
 elif score >= 70:
     print('良')
 elif score >= 60:
     print('及格')
 else:
     print('不及格')

由于 python 并不支持 switch 语句,所以多个条件判断,只能用 elif 来实现,如果判断需要多个条件需同时判断时,可以使用 or (或),
表示两个条件有一个成立时判断条件成功;使用 and (与)时,表示只有两个条件同时成立的情况下,判断条件才成功。
 
当if有多个条件时可使用括号来区分判断的先后顺序,括号中的判断优先执行,此外 and 和 or 的优先级低于>(大于)、<(小于)等判断符号,即大于和小于在没有括号的情况下会比与或要优先判断。
 
还可以用别的方式来实现根据条件选择要执行的代码块
 def add(a):
     print(a +1)

 operation = {
 'add'    : add , #函数名
 'update' : lambda x:print(x + 2),  #lambda表达式,后边章节会介绍到
 'delete' : lambda x:print(x + 3),
 }

 def default_method(x):
     print('默认方法,什么都不做,我就是个占位的')

 operation.get('delete',default_method)(10)
 可以根据条件不同执行不同代码的还有三元表达式
 # 三元表达式
 score = 75
 result =  '及格'   if score >= 60   else  '不及格'

 print(result)

 及格

 #根据三元表达式实现的效果,其作用等效于
 if  条件:
     代码块1
 else:
     代码块2
 
 
 
 
 
 
 
 

3.1 if 条件分支语句的更多相关文章

  1. MATLAB 的条件分支语句

    MATLAB 的条件分支语句: 1)if...end  2)if...else...end  3) if...elseif...elseif...else...end  a=; fprintf('\n ...

  2. 记mysql条件分支语句CASE WHEN THEN ELSE END的使用

    记一次基于mysql数据库查询时条件分支语句使用 表达式格式:CASE column WHEN 条件1 THEN 表达式1 WHEN 条件2 THEN 表达式2 .... ELSE 表达式 END [ ...

  3. JS基础_条件分支语句:switch语句

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  4. JavaScript基础&实战(3)js中的流程控制语句、条件分支语句、for循环、while循环

    文章目录 1.流程控制语句 1.1 代码 1.2 测试结果 2.弹窗提示输入内容 2.1 代码 2.2 测试结果 3.条件分支语句 3.1 代码 3.2 测试结果 4.while和 do...whil ...

  5. python学习笔记(6)--条件分支语句

    if xxxx: coding if xxxx: coding else: coding if xxxx: coding elif xxx: coding …… else: coding 或者一种简洁 ...

  6. 条件分支语句(SWICH语句)

    语法 swich(条件表达式){ Case 表达式: 语句……. Break; Case 表达式: 语句……. Break; Case 表达式: 语句……. Break; default: 语句……. ...

  7. JavaScript中条件分支语句和循环语句的使用,用简洁的代码实现强大功能

    if()  else if()   else() alert() 弹出警告框 prompt() 输入框,确定:返回输入信息:取消:返回null <!DOCTYPE html> <ht ...

  8. shell编程之条件与分支语句

    1.if条件分支语句 if   expr1(条件测试)   #如果expr1为真,返回0 then commands1 elif  expr2 then commands2 .... ... else ...

  9. 前端笔记知识点整合之JavaScript(三)关于条件判断语句、循环语句那点事

      一.条件分支语句 条件分支语句,也叫作条件判断语句,就是根据某种条件执行某些语句,不执行某些语句. JS中有三种语法是可以表示条件分支的 1.1 if……else…… 条件分支的主力语法,这个主力 ...

随机推荐

  1. docker搭建私服

    拉registry镜像 假设在192.168.100.17服务器上搭建私服 docker pull registry docker run -d -v /data/docker/registry:/v ...

  2. PHP实现QQ登录的开发教程

    第三方登录,就是使用大家比较熟悉的比如QQ.微信.微博等第三方软件登录自己的网站,这可以免去注册账号.快速留住用户的目的,免去了相对复杂的注册流程.下边就给大家讲一下怎么使用PHP开发QQ登录的功能. ...

  3. jspf与jsp的区别

    如果想把一个jspf的文件引入(incurred)到一个jsp页面中,只能使用"@include"指令引入 如果使用<jsp:include>引入,jspf文件中的内容 ...

  4. 【转】rinex

         RINEX(Receiver INdependent Exchange)格式是与接收机无关的数据交换格式,该格式采用文本文件存储数据,数据记录格式与接收机的制造厂商和具体型号无关.RINEX ...

  5. jumpserver v0.4.0 基于 CenOS7 的安装详解

    标签(linux): jumpserver 笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 笔者已经弃用Jumpserver,并自已开发了shell跳板机. sh ...

  6. spring之p命名空间注入

    <bean id="personId" class="com.itheima.f_xml.c_p.Person" p:pname="禹太璞&qu ...

  7. Linux tail,cat,head命令

    tail命令用于将文件的最后部分输出到标准设备,通常是终端,也可以支持更新操作,当文档内容发生变化时,tail会自己主动刷新,确保你看到最新的档案内容. 1.tail -f filename 监视fi ...

  8. BZOJ 1485: [HNOI2009]有趣的数列 [Catalan数 质因子分解]

    1485: [HNOI2009]有趣的数列 Description 我们称一个长度为2n的数列是有趣的,当且仅当该数列满足以下三个条件: (1)它是从1到2n共2n个整数的一个排列{ai}: (2)所 ...

  9. BZOJ 2822: [AHOI2012]树屋阶梯 [Catalan数 高精度]

    2822: [AHOI2012]树屋阶梯 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 779  Solved: 453[Submit][Status] ...

  10. BZOJ 3505: [Cqoi2014]数三角形 [组合计数]

    3505: [Cqoi2014]数三角形 给定一个nxm的网格,请计算三点都在格点上的三角形共有多少个. 注意三角形的三点不能共线. 1<=m,n<=1000 $n++ m++$ $ans ...