“如果不是”python中的条件语句

“If not” condition statement in python

本问题已经有最佳答案,请猛点这里访问。
1
2
3
if not start:
   new.next = None
   return new

"如果不是"是什么意思?这个代码什么时候执行?

和说的一样吗如果start==none:那就做点什么?


if是声明。not start是表达式,not是布尔运算符。

如果操作数(此处为start)被认为是错误的,则not返回True。python认为所有对象都是真的,除非它们是数字零、空容器、None对象或boolean False值。如果start为真值,则not返回False。请参见文档中的真值测试部分。

所以如果startNone的话,那么not start是真的。start也可以是0或空列表、字符串、元组字典或集合。许多自定义类型还可以指定它们等于数字0或应视为空:

1
2
3
4
5
6
7
8
9
10
>>> not None
True
>>> not ''
True
>>> not {}
True
>>> not []
True
>>> not 0
True

注意:由于None是一个单例(在python进程中只有该对象的一个副本),所以应该始终使用isis not测试它。如果您严格希望测试tat startNone,则使用:

1
if start is None:

startFalse0None、空表[]、空字典{}、空集时执行。