2016-04-05 305 views
0

我很困惑==is的用法。`==`和`is`有什麼區別?

default_netrc = file is None 
if file is None: 
    try: 
     file = os.path.join(os.environ['HOME'], ".netrc") 
    except KeyError: 
     raise IOError("Could not find .netrc: $HOME is not set") 

這裏是代碼捕捉。

是這條線default_netrc = file is None是等於default_netrc = file == None

當與None比較時,我們是否應該使用is==

回答

0

a is b返回id(a)==id(b),如果標籤指向同一個對象,則爲true。 a==b如果由a和b指向的(可能不同的)對象以被比較的對象定義的方式相等,則返回true。