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 |
在前面的“is”运算符示例中,我们使用了两个变量“x”和“y”,并赋予它们相同的值,因为 x = 5 和 y = 5 表示相同的内存地址或引用相同的对象。 在第二个示例中,您可以看到它们的值是 5 和 10,它们并不相同,这就是结果为 false 的原因。
示例 2:
在此示例中,我们将使用 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 |
正如您在“不是”运算符的示例中看到的那样,我们使用两个变量“x”和“y”并为它们分配不同的值,因为 x = 5 和 y = 10 意味着它们具有不同的内存位置或被指向到不同的对象。 由于它们的值不同,在这种情况下,输出将为真,而您可以在第二个示例中看到,每个变量的值为 5,这就是相同的,这就是输出为假的原因
示例 2:
与上面的“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 |
如您所见,在此示例中,我们使用条件语句“if-else”和“is not”运算符来识别变量的内存位置,它们是否指向同一个对象,或者它们是否相同. 在上面的示例中,如果条件为 True,则返回结果“x 和 y 具有相同的身份”,否则返回“x 和 y 的身份不同”。
结论
在 Python 中,恒等运算符用于确定一个值是否属于给定的类或类型,它们通常用于识别变量包含的数据类型。 标识运算符用于查找对象的内存单元,这在两个对象具有相同名称且只能通过其内存位置来识别时特别有用。