None雖然跟True False一樣都是布爾值。
雖然None不表示任何數據,但卻具有很重要的作用。
它和False之間的區別還是很大的!
例子:
>>> t = None
>>> if t:
... print("something")
... else:
... print("nothing")
...
nothing
區分None和False.使用is來操作!
>>> if t is None:
... print("this is None!")
... else:
... print("this is ELSE!")
...
this is None!
>>>
雖然是個小小的區別!但是在Python裏面是重要的。你需要將None和不含任何值的空數據結構區分開。
0值的整型/浮點型,空字符串(‘ ’),空列表([]),空元組({}),空集合(set())都是等價於False,但是不等於None。
現在,寫一個函數:
>>> def oj(t):
... if t is None:
... print("this is None")
... elif t:
... print("this is True")
... else:
... print("this is False")
...
進行數據測驗:
>>> oj(None)
this is None
>>> oj(True)
this is True
>>> oj(False)
this is False
>>> oj(0)
this is False
>>> oj(0.0)
this is False
>>> oj([])
this is False
>>> oj(())
this is False
>>> oj({})
this is False
以上說明,None,False,True還是有很大不同的~