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. python3 第十九章 - 写一个10进制转任意进制的函数

    我们先回忆下之前所学的进制转换的知识(详见:第十章),10进制转其它进制的方法是: 整数部分,除基取余,逆序排列 小数部分,乘基取整,顺序排列 负数,按绝对值处理 好,假设我们需要转化的数都是正整数, ...

  2. scrapy_简介页面和详情页面

    如何对提取的URL进行限定? 往上找id和class属性值,进行多次层级选择,进行内容限定 如何实现获取主页所有urls,然后交给scrapy下载后并解析详情页面,返回结果?(文章简介页面和文章详细页 ...

  3. python_计算1+……+100中偶数和

    如何计算1+--+100中偶数和? 1. 把奇数去掉,通过if,判断累加数除以2的余数,是否为1,判断是否是奇数 2. 通过continue 跳过对奇数的累加 #!/usr/bin/python3 d ...

  4. js 数组与对象的区别

    学习javascript的时候,我曾经一度搞不清楚”数组”(array)和”对象”(object)的根本区别在哪里,两者都可以用来表示数据的集合.   比如有一个数组a=[1,2,3,4],还有一个对 ...

  5. keytool 错误:java.to.FileNotFoundException:

    老是报如题的错误: 后来才知道是因为当前的目录下没有写的权限,所以需要指定一个路径来存放android.key: keytool -genkey -alias android.key -keyalg ...

  6. 02_HTML5+CSS详解第三天

    WebStorage简单的网页留言板用到的函数有3个1.saveStorage函数使用"new Date().getTime()"语句来获取当前的日期和时间戳,然后使用localS ...

  7. $(window).scroll在页面没有滚动条时无法触发事件的bug解决方法

    JS //给页面绑定滑轮滚动事件 if (document.addEventListener) { //webkit document.addEventListener('mousewheel', s ...

  8. awk使用正则精确匹配

    [root@localhost home]# cat file 5001][YRSD5-1][YRSD5-1-2][0203008400028411] 010102 5001][YRSD7-1][YR ...

  9. MySQL复制相关变量

    server_id是必须设置在master和每个slave上的唯一标识ID,其取值范围 是1~4294967295之间,且同一个复制组之内不能重复 server_uuid:server_uuid会在G ...

  10. HTTP基本知识

    1.TCP/IP 传输控制协议/因特网互联协议 (1)应用层:决定向用户提供应用服务时通信的活动(FTP.DNS和HTTP都属于该层). (2)传输层:提供处于网络连接中的两台计算机之间的数据传输(T ...