1. 程式人生 > >python的成員運算子、身份運算子

python的成員運算子、身份運算子

Python成員運算子

除了以上的一些運算子之外,Python還支援成員運算子,測試例項中包含了一系列的成員,包括字串,列表或元組。

運算子 描述 例項
in 如果在指定的序列中找到值返回 True,否則返回 False。 x 在 y 序列中 , 如果 x 在 y 序列中返回 True。
not in 如果在指定的序列中沒有找到值返回 True,否則返回 False。 x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。

以下例項演示了Python所有成員運算子的操作:

例項(Python 2.0+)

#!/usr/bin/python # -*- coding: UTF-8 -*- a = 10 b = 20 list = [1, 2, 3, 4, 5 ]; if ( a in list ): print "1 - 變數 a 在給定的列表中 list 中" else: print "1 - 變數 a 不在給定的列表中 list 中" if ( b not in list ): print "2 - 變數 b 不在給定的列表中 list 中" else: print "2 - 變數 b 在給定的列表中 list 中" # 修改變數 a 的值 a = 2 if ( a in list ): print "3 - 變數 a 在給定的列表中 list 中" else: print "3 - 變數 a 不在給定的列表中 list 中"

以上例項輸出結果:

1 - 變數 a 不在給定的列表中 list 中
2 - 變數 b 不在給定的列表中 list 中
3 - 變數 a 在給定的列表中 list 中

Python身份運算子

身份運算子用於比較兩個物件的儲存單元

運算子 描述 例項
is is 是判斷兩個識別符號是不是引用自一個物件 x is y, 類似 id(x) == id(y) , 如果引用的是同一個物件則返回 True,否則返回 False
is not is not 是判斷兩個識別符號是不是引用自不同物件 x is not y , 類似 id(a) != id(b)
。如果引用的不是同一個物件則返回結果 True,否則返回 False。

注: id() 函式用於獲取物件記憶體地址。

以下例項演示了Python所有身份運算子的操作:

例項(Python 2.0+)

#!/usr/bin/python # -*- coding: UTF-8 -*- a = 20 b = 20 if ( a is b ): print "1 - a 和 b 有相同的標識" else: print "1 - a 和 b 沒有相同的標識" if ( a is not b ): print "2 - a 和 b 沒有相同的標識" else: print "2 - a 和 b 有相同的標識" # 修改變數 b 的值 b = 30 if ( a is b ): print "3 - a 和 b 有相同的標識" else: print "3 - a 和 b 沒有相同的標識" if ( a is not b ): print "4 - a 和 b 沒有相同的標識" else: print "4 - a 和 b 有相同的標識"

以上例項輸出結果:

1 - a 和 b 有相同的標識
2 - a 和 b 有相同的標識
3 - a 和 b 沒有相同的標識
4 - a 和 b 沒有相同的標識

is 與 == 區別:

is 用於判斷兩個變數引用物件是否為同一個, == 用於判斷引用變數的值是否相等。

  • >>> a = [1, 2, 3]
    >>> b = a
    >>> b is a 
    True
    >>> b == a
    True
    >>> b = a[:]
    >>> b is a
    False
    >>> b == a
    True