官术网_书友最值得收藏!

Identity operators

Given in the table are the two identity operators:

The following screenshot shows that the value can be same but id can be different. It returns True if id is the same:

Here, as both x and y contain the same value (10), id() returns the same value for both. However, when x and y are provided with the same list, id() returns different values. This could be attributed to the fact that when x and y have 10 assigned to them, it essentially means that both are pointing to the same memory address, which has a value of 10, while in the case of a list, this could be different. Why different? That is because lists are immutable, which means they can't be changed. So, when we assign the same list to y, it means that a new memory address is blocked again for a new list.

The id() function returns the identity of an object. This is an integer (or long integer), which is guaranteed to be unique and constant for this object during its lifetime. It is similar to memory addresses in the C language.

However, there is a small twist in our id() function. Python supports same memory allocation for integers only up to 256. It will be clearer with the following screenshot:

Here, as you can see, once we pass values above 256 for x and y, both are given different memory allocations by the interpreter, but if the values are 256, then the same memory allocation is provided for both x and y.

主站蜘蛛池模板: 上蔡县| 漳平市| 宁城县| 鄂托克前旗| 南城县| 元谋县| 屏山县| 唐山市| 岚皋县| 兰溪市| 沁源县| 永康市| 高青县| 酉阳| 都安| 永年县| 珲春市| 应城市| 蕲春县| 石渠县| 资中县| 苍梧县| 荣昌县| 邯郸市| 萨迦县| 金昌市| 龙里县| 翁源县| 赤水市| 夹江县| 安义县| 吴堡县| 巢湖市| 吉木萨尔县| 南和县| 镇安县| 昌邑市| 和林格尔县| 台中市| 颍上县| 哈巴河县|