如果你觉得这样写没啥区别,那么你可就要小心了,这里面有一个坑。先来看一下代码:在python中 None, False, 空字符串"", 0, 空列表[], 空字典{}, 空元组()都相当于False ,即:not None == not False == not '' == not 0 == not [] == not {} == not ()因此在使用列表的时候,如果你想区分x==[]和x==None两种情况的话, 此时`if not x:`将会出现问题:也许你是想判断x是否为None,但是却把`x==[]`的情况也判断进来了,此种情况下将无法区分。使用if not x这种写法的前提是:必须清楚x等于None, False, 空字符串"", 0, 空列表[], 空字典{}, 空元组()时对你的判断没有影响才行。
暂无评论