Python 中的身份运算符

Python 中的标识运算符用于确定一个值是否属于特定的类或类型,并且经常用于确定变量包含的数据类型。 身份运算符,顾名思义,用于定位对象的内存单元,特别是当两个对象具有相同的名称并且只能通过它们的内存位置来区分时。

Python 中身份运算符的类型

下面列出了两种不同类型的身份运算符

  • 是运算符
  • 不是运算符

带有示例的 Python 身份运算符

本文将讨论两种主要的身份运算符,即“is”运算符和“is not”运算符。

是 Python 中的运算符

当两个变量指向同一个对象或具有相同的值时, “是” 操作返回真; 否则,它返回 false。

示例 1:

x = 5

y = 5

print(x is y)

Output:

True

x = 5

y = 10

print(x is y)

Output:

False

我们在前面使用了两个变量“x”和“y” example “is”操作符并赋予它们相同的值,因为 x = 5 和 y = 5 意味着相同的内存地址或引用相同的对象。 在第二 example可以看到它们的值是 5 和 10,不一样,这就是结果为假的原因。

示例 2:

在这个 example,我们将使用 if-else 语句更好地理解相同的变量,例如 x 和 y,并为它们赋值以区分它们。

x = 5

y = 5

if ( x is y ):

print("x and y have same identity")

else:

print("x and y do not have same identity")

Output:

x and y have same identity

x = 5

y = 10

if ( x is y ):

print("x and y have same identity")

else:

print("x and y do not have same identity")

Output:

x and y do not have same identity

在 Python 中不是运算符

Is Not 运算符的工作方向与运算符相反。 如果两个对象具有不同的内存位置,则返回 true。 如果两个对象或变量具有相同的内存位置,则返回 False。

示例 1:

x = 5

y = 10

print(x is not y)

Output:

True

x = 10

y = 10

print(x is not y)

Output:

False

正如你在 example 在“不是”运算符中,我们使用两个变量“x”和“y”并为它们分配不同的值,因为 x = 5 和 y = 10 意味着它们具有不同的内存位置或指向不同的对象。 由于它们的值不同,在这种情况下,输出将为真,而您可以在第二个中看到 example,每个变量的值为 5,这就是输出为 false 的原因

示例 2:

和上面一样 example 对于“is”运算符,我们将使用 if-else 语句来更好地理解具有相同变量(例如 x 和 y)的“is not”运算符,并为它们分配值以区分变量的内存位置或对象。

x = 5

y = 5

if ( x is not y ):

print("x and y have same identity")

else:

print("x and y do not have same identity")

Output:

x and y do not have same identity

x = 5

y = 10

if ( x is not y ):

print("x and y have same identity")

else:

print("x and y do not have same identity")

Output:

x and y do not have same identity

在这个 example,如您所见,我们使用条件语句“if-else”和“is not”运算符来识别变量的内存位置,它们是否指向同一个对象,或者它们是否相同。 在上述 example 如果条件为真,则返回结果“x 和 y 具有相同的身份”,否则返回“x 和 y 的身份不同”。

结论

在 Python 中,恒等运算符用于确定一个值是否属于给定的类或类型,它们通常用于识别变量包含的数据类型。 标识运算符用于查找对象的内存单元,这在两个对象具有相同名称且只能通过其内存位置来识别时特别有用。