python if else语句_python if else用法

python if else语句_python if else用法本文介绍了常见的if语句的各种用法

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

python 中 if 的用法(if else, if not, elif)

if语句实际上是:if True: …执行后面的语句
python 中的 if 有下面几种常见用法:
if … else…
if …elif…else…
if not …
if … not …

1.if … else …

在这里插入图片描述
实际上,还可以用用下面这种方式,使代码更精简
在这里插入图片描述
赋值也是可以的:
在这里插入图片描述

2. if … elif … else…

elif 是多条件判断语句,比如:
在这里插入图片描述
当然,当条件很多时,可以有多个elif,比如上面这个简单的例子可以再增加几个条件
在这里插入图片描述

3.if not …

i在讲 if not 之前,得先弄清楚 not 在python中的意思:
not 是一个逻辑判断词
在这里插入图片描述
当 not 与变量连用的时候:
在这里插入图片描述
所以,在python中,None, False, 空字符串 ‘’ , 0, 空列表[], 空字典{}, 空元组() 都相当于False。

要注意的是,虽然”0“是 False,但是 ”[0]” 是True ,因为只有列表为False,字典也是如此,另外有空格的字符串 ’ ’ 也不算空字符串。
在这里插入图片描述
仔细的同学可能看到上面元组(0)并不是True,那是因为在写元组tupple时,如果只有一个元素,需要在元素后面加上逗号,比如:(0,),指定为元组类型,如果不加逗号,python会把它当成整型,整数 0 为False,所以(0)也为False。
在这里插入图片描述
弄清楚not之后,加上 if 就很简单了,如果if not 后面的语句是False,则执行冒号后面的语句,否则执行else(如果有else的话)。
在这里插入图片描述
注意:有时候if not 的语句很长,又夹带is、and、or,容易理解错误,比如:

  • if not x is a:

应该理解为if not (x is a) ,而不是if (not x) is a

  • if not x or a =b:

应该理解为if (not x) or (ab),而不是 if not (x or ab),当然这里a==b可以换成其他条件。or 换成and也是一样,也就是说,(and、or)和is不一样,要仔细甄别。
if not语句是非常常用的语句,尤其在数据结构中。由于python语言的简洁,if not 和and. or. is.连用可以减少大量的代码空间。

4. if … not…

这种情况一般 not 与 is 连用,is not 直接按字面理解即可。理解为 if x (is not) None,而不是if x is (not None)。
在这里插入图片描述


补充:
在实际写代码的时候,经常遇到要判断None的情况,可能会遇见下面这些写法:
if x is None:…#最好使用这种写法
if not x:…
if not x is None: …

而在判断None的过程,常常伴随着 [] 的判断,这时我们使用if not x是有问题的:
在这里插入图片描述
因为上面讲过,not是逻辑判断,而列表、空字典等的逻辑和None是一样的,都是False,if not 是没办法区分的,输出的都是True。所以要确定变量=[]时对if not 的判断没有影响,否则会报错。

使用 if not x is None也是有问题的,这种写法容易误解为if (not x) is None,而实际上应该理解为 not (a is None)
在这里插入图片描述
a is None 返回False ,所以not(False)返回True,而实际上[] 并不是None,应该返回False

所以最好直接使用if x is None,简介明了。
在这里插入图片描述
a is b比较的a 和 b的id,只有a,b的id相同才会输出True:
在这里插入图片描述
上面if … not …中的 is not其实是一样的道理

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/189409.html原文链接:https://javaforall.net

(0)
上一篇 2026年4月13日 下午7:28
下一篇 2026年4月13日 下午7:34


相关推荐

  • 解决Vscode中万能头文件<bits/stdc++.h>不能使用的问题

    解决Vscode中万能头文件<bits/stdc++.h>不能使用的问题解决了 VSCode 中万能头文件 bits stdc h 不能使用的问题 只需要新建文件将其添加到相应引用路径即可

    2026年3月26日
    2
  • 【全网独家】手把手教你制作一个Ubuntu Deb 安装包「建议收藏」

    Ubuntu Deb 安装包加班到9点多了,今天本来准备整理一下Linux常用命令,没有时间了。目前还没有回家。就发一篇昨天整理的一个deb打包的教程,网上搜了很多,都是讲解命令的,没有一个比较完整的教程。如果你公司用到了deb打包,可以仔细阅读一下,如果你没有接触过deb打包,那可以简单了解一下,毕竟技多不压身。本文主要参考博文:Debconf程序员的教程 :http://www.fif…

    2022年2月28日
    49
  • 冯诺依曼体系结构「建议收藏」

    冯诺依曼体系结构「建议收藏」目录冯诺依曼体系结构简介数据流向存储分级举例说明数据的流动过程冯诺依曼体系结构简介我们常见的计算机,如笔记本。我们不常见的计算机,如服务器,大部分都遵守冯诺依曼体系。计算机本质上是有输入,并且经过计算机的计算,将结果显示到某种显示输出上,就可以称为计算机。输入单元:键盘,网卡,磁盘,话筒…输出单元:显示器,网卡,磁盘,音响…存储器没有特殊说明一般指的是物理内存。中央处理器(CPU):含有运算器和控制器等运算器在进行运算的时候无外乎两种情况,一种是算术运算,一种逻辑运算。控制器主要能够用来

    2025年8月12日
    4
  • tga文件解析「建议收藏」

    Tga常见的格式有非压缩RGB和压缩RGB两种格式,文件的第三个Byte位作为标记:2为非压缩RGB格式,10为压缩RGB格式。这里的类只实现读取非压缩格式的tga文件。先给出tga文件的文件格式:名称偏移长度说明图像信息字段长度01本字段是1字节无符号整型,指出图像信息字段

    2022年4月6日
    79
  • 好像还挺好玩的GAN8——SRGAN实现图像的分辨率提升

    好像还挺好玩的GAN8——SRGAN实现图像的分辨率提升好像还挺好玩的 GAN8 SRGAN 实现图像的分辨率提升学习前言什么是 SRGAN 代码与训练数据的下载神经网络组成 1 生成网络 2 判别网络训练思路 1 对判别模型进行训练 2 对生成模型进行训练全部代码 1 data loader 全部代码 2 主函数全部代码学习前言 SRGAN 可以提升图像分辨率 俺很感兴趣 有必要了解一下 什么是 SRGANSRGAN 出自论文 Photo RealisticSin

    2026年3月18日
    2
  • rabbitmq实际使用案例_沉默的螺旋案例

    rabbitmq实际使用案例_沉默的螺旋案例一.简单模式(队列–>交换机)yml配置:server:port:8088spring:rabbitmq:host:127.0.0.1port:5672username:guestpassword:guestpublisher-confirm-type:correlated#消息确认方式,通过correlated来确认(将来的消息中才会带correlation_id,只有通过correlation_

    2022年10月3日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号