python中的none

简介

  • None是python中的一个常量,他有自己的数据类型NoneType,表示一个空对象,类似js中的null
  • None和任意对象比较都是False,除了他自己本身

判断数据为空

  • 一般判断数据为空的时候,我们尽量使用隐式的判断
  • 在python中,只要数据为空一般都会转化为False,如 ""[]{}()None0False
# 尽量用
if not obj:
	pass
	
# 尽量不要用
if obj != []:
	pass

is None== None

弄懂这两个的区别,首先我们需要先弄懂 is==

is==

  • 一般is用来比较比较地址是否相同
  • ==则用来比较值是否相同
  1. 当我们调用==来进行比较的时候,他其实是调用了一个魔术方法__eq__,这个方法我们可以重写,且函数返回的值就是比较后的值,我们可以看下面的例子
class Foo():
    
    def __eq__(self, __o: object) -> bool:
        return True

a = Foo()
b = None

print(a == b) # True
print(a == "c") # True

print(b is None) # True

print(b == None) # true
print(a is b) #False

  • 我们和None进行比较的时候,一般用is,如果变量指向的是None,那么他们最终的地址一定相同
  • 大多数情况下,is None== None 返回的结果是相同的,如果__eq__方法被重写了,那么导致的结果可能就不同了
  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值