有时候,我们需要依照某种条件,再决定要不要做某个操作。在Python中,if语句能够帮助我们检查程序的当前状态,告诉计算机接下来该做什么。

条件表达式

每个if后面都跟着一个True或False的表达式,我们称之为“条件表达式”。那么什么是条件表达式?我们直接上例子吧!

>>> True == False
False
>>> 10 > 9
True
>>> "A" == "A"
True
>>> 5 >= 10
False

上面代码演示的都是一个个单一的条件表达式。如果我们需要同时满足多个条件,或满足多个条件中的任一一个,应该怎么写“多条件表达式”呢?这就需要结合and和or关键字了。

  • and检查多个条件:一假则假,都真才真;
  • or检查多个条件:一真则真,都假才假;
>>> (1 > 5) and ("A" != "B")
False
>>> (1 > 5) or ("A" != "B")
True

当知道什么是“条件表达式”后,接下来,结合if应该怎么用呢?看一个简单的例子就行。

>>> if True != False:
... print("今天天气很好!")
...
今天天气很好!

if表达式的多种形式

前面我们已经讲述了“条件表达式”的概念,下面我们直接来看看if表达式的不同变种形式。

简单if表达式

最简单的if表达式,只有一个条件表达式和一个执行语句,语法如下:

if 条件表达式:
执行语句……

案例:如果天气好,我就去旅游。

x = "天气好"
if x == "天气好":
print("我就去旅游") # 结果:我就去旅游

if - else表达式

有时候,我们想:当满足某个条件表达式时,执行某个语句;不满足时,就执行另外一个语句。此时就需要使用if - else表达式,语法如下:

if 条件表达式:
执行语句1……
else:
执行语句2……

案例:如果天气好,我就去旅游;否则就呆在家。

x = "下雨"
if x == "天气好":
print("我就去旅游")
else:
print("呆在家") # 结果:呆在家

if - elif - else表达式

当判断条件涉及到3个条件表达式的时候,Python中提供了if - elif - else结构,来实现该需求,语法如下:

if 条件表达式1:
执行语句1……
elif 条件表达式2:
执行语句2……
else:
执行语句3……

案例:植物园门票,<10岁不收钱,[10,18)岁收50元,[18,+∞)岁收80元。

x = 17
if x < 10:
print("不收钱")
elif x >= 10 and x < 18:
print("收50元")
else:
print("收80元") # 结果:收50元

多个elif表达式

如果判断条件有3个条件表达式以上,Python中提供了if - elif - ... - elif - else结构等多elif结构,供我们使用,语法如下:

if 条件表达式1:
执行语句1……
elif 条件表达式2:
执行语句2……
elif 条件表达式3:
执行语句3……
else:
执行语句4……

案例:动物园门票,<10岁不收钱,[10,18)岁收30元,[18,25)岁收60元,[25,+∞)岁收80元。

x = 23
if x < 10:
print("不收钱")
elif x >= 10 and x < 18:
print("收30元")
elif x >= 18 and x < 25:
print("收60元")
else:
print("收80元") # 结果:收60元

省略else表达式

在这个结构中,我们可以保留else表达式,也可以直接省略else表达式,操作还是和上面一样,这里就不在做演示说明。

python基础(十二):if分支表达式的更多相关文章

  1. Python基础(十二) 类私有成员和保护成员

    python中的protected和private python中用 _var :变量名前一个下划线来定义,此变量为保护成员protected,只有类及其子类可以访问.此变量不能通过from XXX ...

  2. python基础十二之生成器进阶

    生成器表达式 (满足条件的元素或其相关的操作 for 元素 in 可迭代对象 if 条件) g = (i for i in range(10)) for i in g: print(i) egg_li ...

  3. python 基础(十二) 图片简单处理

    pillow 图片处理模块 安装 pip install pillow  pip是安装第三方模块的工具 缩放图片实例 from PIL import Image path = r'C:\Users\x ...

  4. Python进阶(十二)----re模块

    Python进阶(十二)----re模块 一丶re模块 ​ re模块是python将正则表达式封装之后的一个模块.正则表达式模式被编译成一系列的字节码,然后由用C编写的匹配引擎执行. #正则表达式: ...

  5. python基础知识(二)

    python基础知识(二) 字符串格式化 ​ 格式: % 类型 ---- > ' %类型 ' %(数据) %s 字符串 ​ print(' %s is boy'%('tom')) ----> ...

  6. Bootstrap <基础十二>下拉菜单(Dropdowns)

    Bootstrap 下拉菜单.下拉菜单是可切换的,是以列表格式显示链接的上下文菜单.这可以通过与 下拉菜单(Dropdown) JavaScript 插件 的互动来实现. 如需使用下列菜单,只需要在 ...

  7. Python 基础语法(二)

    Python 基础语法(二) --------------------------------------------接 Python 基础语法(一) ------------------------ ...

  8. 初学 Python(十二)——高阶函数

    初学 Python(十二)--高阶函数 初学 Python,主要整理一些学习到的知识点,这次是高阶函数. #-*- coding:utf-8 -*- ''''' 话说高阶函数: 能用函数作为参数的函数 ...

  9. Java基础十二--多态是成员的特点

    Java基础十二--多态是成员的特点 一.特点 1,成员变量. 编译和运行都参考等号的左边. 覆盖只发生在函数上,和变量没关系. Fu f = new Zi();System.out.println( ...

  10. Python基础学习二

    Python基础学习二 1.编码 utf-8编码:自动将英文保存为1个字符,中文3个字符.ASCll编码被囊括在内. unicode:将所有字符保存为2给字符,容纳了世界上所有的编码. 2.字符串内置 ...

随机推荐

  1. svg & regex

    svg & regex https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reg ...

  2. babel 常用操作

    astexplorer babel-types code to ast const { parse } = babel; const code = ` for (let k in ${data}) { ...

  3. 【Azure 云服务】如何从Azure Cloud Service中获取项目的部署文件

    问题描述 在历史已经部署的云服务(Azure Cloud Service)中,如何获取到项目在很久以前的部署包文件呢? 解决办法 1)如果部署云服务是通过门户上传部署包到存储账号中,则可以直接从存储账 ...

  4. linux系统解压命令总结

    原文链接:https://www.cnblogs.com/lhm166/articles/6604852.html tar -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追 ...

  5. SpringCloud之服务调用

    1.Ribbon 1.1负载均衡LB 全称Load Balance,将用户的请求平摊到多个服务器上,从而达到系统的HA.集中式LB:在服务消费者和服务提供者之间使用独立的LB设施,如硬件,由该设施负责 ...

  6. 从零开始搞后台管理系统(2)——shin-server

      shin 的读音是[ʃɪn],谐音就是行,寓意可行的后端系统服务,shin-server 的特点是: 站在巨人的肩膀上,依托KOA2.bunyan.Sequelize等优秀的框架和库所搭建的定制化 ...

  7. 100道Java高频面试题(阿里面试官整理)

    我分享文章的时候,有个读者回复说他去年就关注了我的微信公众号,打算看完我的所有文章,然后去面试,结果我后来很长时间不更新了...所以为了弥补一直等我的娃儿们,给大家的金三银四准备了100道花时间准备的 ...

  8. HDOJ-1257(贪心/动态规划)

    最少拦截系统 HDOJ-1257 我做这题的思路就是采用暴力或者贪心.也就是每次循环选出从第一个未被选择的元素开始,依次把后面可以选择的元素作为一个系统.最后统计可以有多少个系统. 还有人的思路就是利 ...

  9. 番外----python入门----pip相关

    pip 是 Python 包管理工具,该工具提供了对Python 包的查找.下载.安装.卸载的功能. 但是,由于pip使用的pip仓库默认为:http://pypi.python.org/ 是国外的 ...

  10. SpringBoot自动配置原理源码级别分析

    SpringBoot自动配置原理 前言 后面还会讲到SpringBoot自动配置原理,会主要讲解@EnableAutoConfiguratuon注解帮助我们做了什么事情,是如何自动把自动配置类扫描到容 ...