身份運算子比較兩個物件的記憶體位置。常用的有兩個身份運算子,如下所述 -
運算子 | 描述 | 範例 |
---|---|---|
is |
如果運算子任一側的變數指向相同的物件,則返回True ,否則返回False 。 |
|
is not |
如果運算子任一側的變數指向相同的物件,則返回True ,否則返回False 。 |
- |
#!/usr/bin/python3
#coding=utf-8
#save file : identity_operators_example.py
a = 20
b = 20
print ('Line 1','a=',a,':',id(a), 'b=',b,':',id(b))
if ( a is b ):
print ("Line 2 - a and b have same identity")
else:
print ("Line 2 - a and b do not have same identity")
if ( id(a) == id(b) ):
print ("Line 3 - a and b have same identity")
else:
print ("Line 3 - a and b do not have same identity")
b = 30
print ('Line 4','a=',a,':',id(a), 'b=',b,':',id(b))
if ( a is not b ):
print ("Line 5 - a and b do not have same identity")
else:
print ("Line 5 - a and b have same identity")
將上面程式碼儲存到檔案: identity_operators_example.py 中,執行結果如下 -
F:\worksp\python>python membership_operators_example.py
Line 1 - a is not available in the given list
Line 2 - b is not available in the given list
Line 3 - a is available in the given list
F:\worksp\python>