Python 關鍵字



Python 的 is 運算子用於測試兩個變數是否引用記憶體中的同一個物件。如果變數引用了相同的記憶體位置,則返回 True,否則返回 False。它是一個 區分大小寫的關鍵字。

is 關鍵字和 等於[==] 運算子都用於比較,但它們用於不同的上下文。is 關鍵字檢查兩個變數是否具有相同的 標識

標識指的是物件的記憶體地址。我們使用 id() 函式查詢標識。等於 [==] 運算子檢查兩個變數的值是否相等,而不是引用記憶體中的同一個物件。

語法

以下是 Python is 關鍵字的語法:

Variable1 is Variable2

示例

以下是 Python is 關鍵字的基本示例:

# Initializing variables
var1 = True
var2 = True
# Using is 
result_1 = var1 is var2
print("The is operation between",var1,"and",var2,":",result_1)

輸出

以下是以上程式碼的輸出:

The is operation between True and True : True

檢查變數標識

當我們在變數之間使用 is 關鍵字時,它會檢查給定變數的標識,當兩個給定變數具有相同的 id 時返回 True,否則返回 False

示例

我們定義了三個變數,var1var2var3。由於 var1var2 具有相同的 ID,因此 is 操作的結果為 True。但是,var2var3ID 不同,因此 is 操作的結果為 False

# Initialized the variables
var1 = [1,2,3]
var2 = var1
var3 = [1,2,3]
# Printing the Id's of variables
print("var1 Address :",id(var1))
print("var2 Address :",id(var2))
print("var3 Address :",id(var3))
# is Operation
result_1 = var1 is var2
result_2 = var2 is var3
print("var1 is var2 :",result_1)
print("var2 is var3 :",result_2)

輸出

以下是以上程式碼的輸出:

var1 Address : 2501954230592
var2 Address : 2501954230592
var3 Address : 2501954228608
var1 is var2 : True
var2 is var3 : False

在元組中使用 'is' 關鍵字

is 關鍵字也可用於 元組。當兩個不同的元組在記憶體中具有相同的物件時,is 關鍵字返回 True,否則返回 False

示例

這裡,我們建立了三個元組,Tup1Tup2Tup3。在將 Tup1 賦值給 Tup2 之前,Tup1 和 Tup2 之間的 is 運算結果為 False。Tup2 被賦值給 Tup3,然後 Tup1 又被賦值給 Tup2。再次對 Tup1Tup2 執行 is 運算時,結果為 True。而 Tup2Tup3 之間的 is 運算結果為 False

# Initialized tuples
Tup1 = (14,7,8)
Tup2 = (23,89,12)
# is operator
result_1 = Tup1 is Tup2
print("Tup1 is Tup2 :",result_1)
Tup3 = Tup2
Tup2 = Tup1
result_2 = Tup2 is Tup3
result_3 = Tup1 is Tup2
print("Tup1 is Tup2 :",result_3)
print("Tup2 is Tup3 :",result_2)

輸出

以下是以上程式碼的輸出:

Tuple1 is Tuple2 : False
Tuple1 is Tuple2 : True
Tuple2 is Tuple3 : False

使用 'is' 與等號運算子

is 運算子和等號[==]運算子都用於比較兩個變數。唯一的區別在於,is 運算子除了值之外還指代相同的記憶體位置,而等號[==]運算子則指代變數的值。

示例

在下面,我們定義了兩個具有相同值的列表 List1List2,但是當我們對這兩個列表進行賦值時,它會建立一個單獨的記憶體位置,因此當我們執行 is 運算時,結果為 False。當我們執行等號運算時,它只檢查給定兩個列表的值,結果為 True

# Initialized lists
List1 = ["Python", "Java", "CSS"]
List2 = ["Python", "Java", "CSS"]
# is operator
result_1 = List1 is List2
# Equality operator
result_2 = List1==List2
print("List1 is List2 :",result_1)
print("List1 == List2 :",result_2)

輸出

以下是以上程式碼的輸出:

List1 is List2 : False
List1 == List2 : True

使用 'is not' 運算子

is not 運算子檢查兩個變數是否沒有相同的記憶體位置。如果變數具有不同的ID,則返回 True,否則返回 False

示例

以下是 is not 運算子的示例:

# Initialized variables
var1 = [1, 2, 3]
var2 = [1, 2, 3]
var3 = var1
# is not operation
result_1 = var1 is not var2
result_2 = var1 is not var3
print("var1 is not var2 :", result_1)  
print("var2 is not var2 :", result_2)

輸出

以下是以上程式碼的輸出:

var1 is not var2 : True
var2 is not var2 : False
python_keywords.htm
廣告