python基础(十二):if分支表达式
有时候,我们需要依照某种条件,再决定要不要做某个操作。在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分支表达式的更多相关文章
- Python基础(十二) 类私有成员和保护成员
python中的protected和private python中用 _var :变量名前一个下划线来定义,此变量为保护成员protected,只有类及其子类可以访问.此变量不能通过from XXX ...
- python基础十二之生成器进阶
生成器表达式 (满足条件的元素或其相关的操作 for 元素 in 可迭代对象 if 条件) g = (i for i in range(10)) for i in g: print(i) egg_li ...
- python 基础(十二) 图片简单处理
pillow 图片处理模块 安装 pip install pillow pip是安装第三方模块的工具 缩放图片实例 from PIL import Image path = r'C:\Users\x ...
- Python进阶(十二)----re模块
Python进阶(十二)----re模块 一丶re模块 re模块是python将正则表达式封装之后的一个模块.正则表达式模式被编译成一系列的字节码,然后由用C编写的匹配引擎执行. #正则表达式: ...
- python基础知识(二)
python基础知识(二) 字符串格式化 格式: % 类型 ---- > ' %类型 ' %(数据) %s 字符串 print(' %s is boy'%('tom')) ----> ...
- Bootstrap <基础十二>下拉菜单(Dropdowns)
Bootstrap 下拉菜单.下拉菜单是可切换的,是以列表格式显示链接的上下文菜单.这可以通过与 下拉菜单(Dropdown) JavaScript 插件 的互动来实现. 如需使用下列菜单,只需要在 ...
- Python 基础语法(二)
Python 基础语法(二) --------------------------------------------接 Python 基础语法(一) ------------------------ ...
- 初学 Python(十二)——高阶函数
初学 Python(十二)--高阶函数 初学 Python,主要整理一些学习到的知识点,这次是高阶函数. #-*- coding:utf-8 -*- ''''' 话说高阶函数: 能用函数作为参数的函数 ...
- Java基础十二--多态是成员的特点
Java基础十二--多态是成员的特点 一.特点 1,成员变量. 编译和运行都参考等号的左边. 覆盖只发生在函数上,和变量没关系. Fu f = new Zi();System.out.println( ...
- Python基础学习二
Python基础学习二 1.编码 utf-8编码:自动将英文保存为1个字符,中文3个字符.ASCll编码被囊括在内. unicode:将所有字符保存为2给字符,容纳了世界上所有的编码. 2.字符串内置 ...
随机推荐
- WebAssembly JavaScript APIs
WebAssembly JavaScript APIs https://developer.mozilla.org/en-US/docs/WebAssembly/Using_the_JavaScrip ...
- uniapp vue mixin使用
这个mixin的翻版,主要用来分离处理列表数据逻辑 我用了覆写模式 创建mixin ListMoreDataMixin // 由于没有超类的限制这里要判断下 function ____checkGet ...
- Flutter: ValueListenableBuilder 内容与ValueListenable保持"同步"的窗口小部件
API 使用这个修改状态可以不用setState(). class _MyHomeState extends State<MyHome> { final ValueNotifier< ...
- Union international inc引进微信线下支付,开启消费无现金时代
长期以来,Union international inc娱乐集团(公司编号:20151533091)因其客户来自全球各国,特别是除了美国之外的中国用户居多,因此公司一直和中国领先的社交软件微信保持着良 ...
- 13_MySQL如何去除结果集中的重复记录
本节所涉及的sql语句 -- 去除结果集中的重复记录 SELECT job FROM t_emp; SELECT DISTINCT job FROM t_emp; SELECT DISTINCT jo ...
- SpringCloud Stream整合RabbitMQ3.5.0
前言 点击进入Spring官网文档 本文章为单体项目,将消费者和生产者写在同一个项目中,介意者不用向下看了. 本文介绍三种应用方式: 1:普通整合RabbitMQ 2:消息分区 3:按条件消费(多个消 ...
- Redis操作指南
目录 Redis安装与使用教程 一.Redis介绍 1.redis安装 2.redis与mysql的异同 3.redis与memcache的异同 二.Redis操作 1.启动服务 2.密码管理 3.连 ...
- 后端程序员之路 35、Index搜索引擎实现分析4-最终的正排索引与倒排索引
# index_box 提供搜索功能的实现- 持有std::vector<ITEM> _buffer; 存储所有文章信息- 持有ForwardIndex _forward_index; ...
- Service Cloud 零基础(五)Trailhead学习 Embedded Chat
本篇参考:https://trailhead.salesforce.com/content/learn/modules/web-chat 想一下我们为什么要用service cloud呢?为什么要有s ...
- fastjson 反弹shell
目录 如下文章说得很不详细,只是用于记录我的步骤,初次利用的人,建议找别的博客文章学习. 准备一台公网服务器 cd test python -m SimpleHTTPServer 8888 javac ...