Python身份運算子範例

2019-10-16 23:08:10

身份運算子比較兩個物件的記憶體位置。常用的有兩個身份運算子,如下所述 -

運算子 描述 範例
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>