在本文中,我们将看到!= (Not equal)运算符。在Python!=被定义为不等于运算符。如果两边的操作数不相等返回true,并返回false,如果他们是平等的。而不是运算符检查两个对象的 id() 是否相同。如果相同,则返回False ,如果不相同,则返回True。如果任一侧的操作数彼此不相等,则is not运算符返回 True,如果相等则返回 false。
让我们一一理解概念:
示例 1:
Python3
a = 10
b = 10
print(a is not b)
print(id(a), id(b))
c = "Python"
d = "Python"
print(c is not d)
print(id(c), id(d))
e = [1,2,3,4]
f = [1,2,3,4]
print(e is not f)
print(id(e), id(f))
Python3
# Python3 code to
# illustrate the
# difference between
# != and is operator
a = 10
b = 10
print(a != b)
print(id(a), id(b))
c = "Python"
d = "Python"
print(c != d)
print(id(c), id(d))
e = [ 1, 2, 3, 4]
f=[ 1, 2, 3, 4]
print(e != f)
print(id(e), id(f))
Python3
# Python3 code to
# illustrate the
# difference between
# != and is not operator
# [] is an empty list
list1 = []
list2 = []
list3 = list1
#First if
if (list1 != list2):
print(" First if Condition True")
else:
print("First else Condition False")
#Second if
if (list1 is not list2):
print("Second if Condition True")
else:
print("Second else Condition False")
#Third if
if (list1 is not list3):
print("Third if Condition True")
else:
print("Third else Condition False")
list3 = list3 + list2
#Fourth if
if (list1 is not list3):
print("Fourth if Condition True")
else:
print("Fourth else Condition False")
输出:
False
140733278626480 140733278626480
False
2693154698864 2693154698864
True
2693232342792 2693232342600
解释:
- 首先对于整数数据,输出为假,因为变量 a、b 都指向相同的数据 10。
- 其次,对于字符串数据,输出为假,因为变量 c、d 都指向相同的数据“Python”。
- 第三个列表数据输出为真,因为变量 e、f 具有不同的内存地址。(即使两个变量具有相同的数据)
示例 2:
!=被定义为不等于运算符。如果两边的操作数不相等返回true,并返回false,如果他们是平等的。
蟒蛇3
# Python3 code to
# illustrate the
# difference between
# != and is operator
a = 10
b = 10
print(a != b)
print(id(a), id(b))
c = "Python"
d = "Python"
print(c != d)
print(id(c), id(d))
e = [ 1, 2, 3, 4]
f=[ 1, 2, 3, 4]
print(e != f)
print(id(e), id(f))
输出:
False
140733278626480 140733278626480
False
2693154698864 2693154698864
False
2693232369224 2693232341064
示例 3:
!=运算符比较两个对象的值或相等性,而Python is not运算符检查两个变量是否指向内存中的同一个对象。
蟒蛇3
# Python3 code to
# illustrate the
# difference between
# != and is not operator
# [] is an empty list
list1 = []
list2 = []
list3 = list1
#First if
if (list1 != list2):
print(" First if Condition True")
else:
print("First else Condition False")
#Second if
if (list1 is not list2):
print("Second if Condition True")
else:
print("Second else Condition False")
#Third if
if (list1 is not list3):
print("Third if Condition True")
else:
print("Third else Condition False")
list3 = list3 + list2
#Fourth if
if (list1 is not list3):
print("Fourth if Condition True")
else:
print("Fourth else Condition False")
输出:
First else Condition False
Second if Condition True
Third else Condition False
Fourth if Condition True
解释:
- 如果条件为“False”,则第一个的输出,因为 list1 和 list2 都是空列表。
- 其次,如果条件显示“真”,因为两个空列表位于不同的内存位置。因此 list1 和 list2 指的是不同的对象。我们可以用Python的id()函数检查它,它返回一个对象的“身份”。
- 如果条件为“False”,则第三个的输出,因为 list1 和 list3 都指向同一个对象。
- 如果条件为“True”,则第四个的输出,因为两个列表的连接总是会产生一个新列表。