ifa会首先去调用a的__nonzero__()去判断a是否为空,并返回True/False,若一个对象没有定义__nonzero__(),就去调用它的__len__()来。
Python中的if条件控制语句,让程序做出准确判断Python中常用的条件控制语句是if语句。
python判断一个对象是否为空我们可以很方便地使用 if 对象 ,这次碰到的异常让我需要重新思考这个方式的适用性。
结果直接报错如下
从dict中get到的有俩种情况,一是为空,二是为一个 pandas.DataFrame ,第一种情况if是适用的,但是对于非python预设对象DataFrame,if就出了问题。原因分析如下:
首先需要注意get到的对象的类型,使用那种类型的判空方法,而不是无脑if。对于DataFrame,判空方法为DataFrame.empty,没有括号。
其次,get不一定会返回DataFrame,做一个兼容即可:
1、判断字符串相等用==判断,代码如下:
a = 'abc'b = 'abc'if a == b: print('a等于b')
效果如下:
2、判断是否为空使用is None方式,代码如下:
a = Nona
if a is None: print('a 为空')
效果如下: