2014-10-17 58 views
0

所以我有一個樹和類的節點類。而在init是:Python變量屬性是無

def __init__(self, key=None, left=None, right=None, p=None): 
    self.key = key 
    self.left = left 
    self.right = right 
    self.p = p 

後期,當我檢查右孩子是無我使用:

print(x.right == None) 

這將始終返回False即使右孩子是無。

爲了驗證這一點,我已經做了:

>>> print(x.right) 
None 
>>> print(x.right == None) 
False 

這究竟是爲什麼?

回答

0

難道你不小心設置right「無」,而不是(不帶引號)?

例如:

>>> x.right = 'None' # Oops - accidentally used quotes 
>>> print(x.right == None) 
False 
>>> print(x.right == 'None') 
True 

而且,這是最好的測試與無的,如:

>>> print(x.right is None)