文档章节

Python中对变量是否为None的判断

达文西W
 达文西W
发布于 2017/09/01 08:59
字数 434
阅读 451
收藏 0

#程序员薪资揭榜#你做程序员几年了?月薪多少?发量还在么?>>>

三种主要的写法有:

第一种:if X is None;

第二种:if not X;

当X为None,  False, 空字符串"", 0, 空列表[], 空字典{}, 空元组()这些时,not X为真,即无法分辨出他们之间的不同。

第三种:if not X is None;

 

 在Python中,None、空列表[]、空字典{}、空元组()、0等一系列代表空和无的对象会被转换成False。除此之外的其它对象都会被转化成True。

在命令if not 1中,1便会转换为bool类型的True。not是逻辑运算符非,not 1则恒为False。因此if语句if not 1之下的语句,永远不会执行。

========================================================================================

对比:foo is None 和 foo == None

示例:

>>> class Foo(object):
       def __eq__(self, other):
           return True

>>> f = Foo()
>>> f == None
True
>>> f is None
False

=============================================

python中的not具体表示是什么,举个例子说一下,衷心的感谢

在python中not是逻辑判断词,用于布尔型True和False,not True为False,not False为True,以下是几个常用的not的用法:
(1) not与逻辑判断句if连用,代表not后面的表达式为False的时候,执行冒号后面的语句。比如:
a = False
if not a:   (这里因为a是False,所以not a就是True)
    print "hello"
这里就能够输出结果hello
(2) 判断元素是否在列表或者字典中,if a not in b,a是元素,b是列表或字典,这句话的意思是如果a不在列表b中,那么就执行冒号后面的语句,比如:
a = 5
b = [1, 2, 3]
if a not in b:
    print "hello"
这里也能够输出结果hello
not x     意思相当于     if x is false, then True, else False

本文转载自:http://www.cnblogs.com/wangzhao2016/p/6763431.html

达文西W

达文西W

粉丝 9
博文 34
码字总数 11429
作品 0
朝阳
程序员
私信 提问
加载中

评论(0)

[Python]判断序列是否为空的正确姿势

本篇文章起源于StackOverflow上一个热度非常高的问题: 我该如何判断一个Python列表是否为空? @Ray Vega (提问者) 举例说明,现在我得到了如下代码: 我如何该检查 是否为空? 面对这个问题,...

osc_n3qafw1d
2019/08/18
1
0
Python3基础(2)模块、数据类型及运算、进制、列表、元组、字符串操作、字典

---------------个人学习笔记--------------- ----------------本文作者吴疆-------------- ------点击此处链接至博客园原文------ 1.模块(标准库/第三方库) import xxx时首先在当前目录中...

osc_qgmf9fjw
2019/05/13
5
0
Python的 is 和 == 弄懂了吗?

在Python中一切都是对象。 Python中对象包含的三个基本要素,分别是: id(身份标识) type(数据类型) value(值) 对象之间比较是否相等可以用 == ,也可以用 is 。 is 和 == 都是对对象进行比较...

上海小胖
2019/03/20
142
0
Python - 进阶(持续更新 ing)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 https://blog.csdn.net/qq39437555/article/details/93867588 文章目录 Python - 面向对象 ...

桃子味儿的汽水~
2019/08/23
0
0
python学习03.10:Python比较运算符(关系运算符)

比较运算符,也成关系运算符,用于对常量、变量或表达式的结果进行大小、真假等比较,如果比较结果为真,则返回 True;反之,则返回 False。 Python 支持的比较运算符如表 1 所示。 表 1 Py...

太空堡垒185
2019/10/10
39
0

没有更多内容

加载失败,请刷新页面

加载更多

redhat AS5.5在telnet时报错“Unencrypted connection refused. Goodbye解决

解决Linux5在telnet时报错“Unencrypted connection refused. Goodbye.” Redhat 5.5环境,今天在远程telnet时,居然报错如下: Unencrypted connection refused. Goodbye. 解决方法: 1)将...

osc_cgllnrkd
1分钟前
0
0
如何在电脑上实现音频变速?音频变速软件哪个值得下载

如何在电脑上实现音频变速?大家在网络上有没有刷到一些音频变速的视频?就是播放的声音速度不正常,会偏快或偏慢,这样别人就听不出说话人原本的音质了。如果你对音频变速也感兴趣,那可以仔...

深蓝月上
2分钟前
6
0
Paxos算法

Paxos算法是一种基于消息传递具有高度容错性的一种算法,解决的问题为在一个异步通信的分布式系统中,如何就某一个值(决议)达成一致。 Paxos算法中有三种角色:Proposer、Acceptor、Learn...

魍宂庞
2分钟前
6
0
Linux学习之路-Linux- If 及 case【9】---20171219

if 语句-条件选择 if 是一个shell的关键字 [root@Centos6app]#type ifif is a shell keyword if 选择执行 if 可以嵌套使用 用法 if COMMANDS; then COMMANDS; [ elif COMMANDS; t......

osc_q5urtsdm
2分钟前
6
0
编译安装mysql5.6以上版本报错解决

查看官网安装说明: http://dev.mysql.com/doc/refman/5.6/en/binary-installation.html 一、编译安装 shell> groupadd mysql shell> useradd -r -g mysql mysql shell> cd /usr/local shel......

osc_34b9n45c
4分钟前
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部