python中对变量的if逻辑判断

  • if obj:
    obj为:None, False, 空字符串’’, 0, 空列表[], 空字典{}, 空元组()时为False,即代表空和无的对象在进行判断时都会被转换成False
    a = [[], '', {}, (), 0, False, None]
    	
    for item in a:
    	print(item, end=' ')
    	if item:
    		print("is True")
    	else:
    		print("is False")
    
    [] is False
     is False
    {} is False
    () is False
    0 is False
    False is False
    None is False
    
  • if obj is None:
    obj为None时为True
    a = [[], '', {}, (), 0, False, None]
    	for item in a:
    		print(item, end=' ')
    		if item is None:
    			print("is None")
    		else:
    			print("is not None")
    
    [] is not None
     is not None
    {} is not None
    () is not None
    0 is not None
    False is not None
    None is None
    
  • obj == None:
    为True情况:
    • obj为None
    • 其__eq__方法返回True(此时无论’=='右边为何值比较结果都为True)
    class Foo(object):
       def __eq__(self, other):
           return True
    
    >>> f = Foo()
    >>> f == None
    True
    >>> f is None
    False
    

参考资料:
https://www.cnblogs.com/wangzhao2016/p/6763431.html

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值