有时候,我们需要依照某种条件,再决定要不要做某个操作。在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. div & drop

    div & drop uplaod file & prevent dropleave https://www.runoob.com/jsref/event-ondrop.html ht ...

  2. Flutter: 获取本地json数据

    FutureBuilder( future: DefaultAssetBundle.of(context).loadString('data/data.json'), builder: (contex ...

  3. 基于NGK发行的稳定币USDN如何撼动市场?

    近日,基于NGK发行的稳定币USDN在各大社区的热度越来越高,很多人都说USDN将会撼动市场,那么USDN究竟有怎样的优势,能引起这么大的轰动呢?今天我们就一起来分析一下USDN. USDN是基于公链 ...

  4. APC体育全力打造高端体育服务品牌

    近年来,a private company(以下简称APC体育,公司编号:08703733)坚持以人为本,努力满足各个行业运动达人多元化及多层次的体育需求,在倡导体育公共健康服务和水平的同时,还向运动 ...

  5. django学习-22.admi管理后台页面的文案展示等相关配置

    目录结果 1.前言 2.完整的操作步骤 2.1.第一步:对[settings.py]里的相关常量的值做如下修改 2.2.第二步:重启django项目[helloworld]的服务 2.3.第三步:重新 ...

  6. oracle 中的左外连接、右外连接、全连接

    左外连接 左外连接 全连接1.左外连接:表1 left [outer] join 表1 on 条件 在等值连接的基础上会把表1中的其他内容也展示出来 而表2只会显示符合条件的内容 . outer 可省 ...

  7. CMD(命令提示符)的基本操作(文件夹)

    打开CMD窗口,接下来将介绍如何使用CMD来创建.删除.修改.查看文件夹(目录) ps:以下所有文件夹将统一写成目录 1.1 使用CMD创建空目录(为了更好的演示,本文皆以D盘为当前路径),命令如下: ...

  8. 基于docker创建Cassandra集群

    一.概述 简介 Cassandra是一个开源分布式NoSQL数据库系统. 它最初由Facebook开发,用于储存收件箱等简单格式数据,集GoogleBigTable的数据模型与Amazon Dynam ...

  9. 面试必备——Java多线程与并发(一)

    1.进程和线程的 (1)由来 1)串行 最初的计算机只能接受一些特定的指令,用户输入一个指令,计算机就做出一个操作.当用户在思考或者输入时,计算机就在等待.显然这样效率低下,在很多时候,计算机都处在等 ...

  10. vue3中watch函数

    watch 监听普通类型 let count = ref(1); const changeCount = () => { count.value+=1 }; watch(count, (newV ...