Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Uniq id函数是否在python中?_Python - Fatal编程技术网

Uniq id函数是否在python中?

Uniq id函数是否在python中?,python,Python,我有几个python脚本并行运行此简单代码: test_id = id('test') 测试id是否唯一? 返回对象的“标识”。这是一个整数(或长整数),保证该对象在其生存期内唯一且不变。生命周期不重叠的两个对象可能具有相同的id()值。 CPython实现细节:这是对象的地址 是的,ID是唯一的 然而,由于Python字符串是不可变的,id('test')可能对所有字符串都是相同的,因为'test'是'test'很可能是真的在CPython中,id是指向内存中对象的指针 >>&g

我有几个python脚本并行运行此简单代码:

test_id = id('test')
测试id是否唯一?

返回对象的“标识”。这是一个整数(或长整数),保证该对象在其生存期内唯一且不变。生命周期不重叠的两个对象可能具有相同的id()值。
CPython实现细节:这是对象的地址

是的,ID是唯一的


然而,由于Python字符串是不可变的,
id('test')
可能对所有字符串都是相同的,因为
'test'是'test'
很可能是
真的
在CPython中,
id
是指向内存中对象的指针

>>> a = [1,2,3]
>>> b = a
>>> id(a) == id(b)
True

因此,如果对同一对象有多个引用(在某些情况下,小字符串只创建一次,并且数字小于257),那么它将不会是唯一的

唯一是什么意思?独一无二的是什么

它只是部分内存的标识符,由参数的值使用。对于具有相同值的不可变对象,它通常是相同的:

>>> id('foo') == id('fo' + 'o')
True

如果您讨论了您要做的事情,这可能会有所帮助—除非您确实知道自己在做什么,否则对任何事情使用id()内置函数都不是很典型,尤其是对所有字符串

这是一个整数(或长整数) 它保证是独一无二的,并且 此对象在运行期间的常数 一生。有两个对象 非重叠生命周期可能具有 相同的id()值

当我读到这篇文章时,id()的返回值实际上只保证在一个解释器实例中是唯一的——甚至只有在项目的生命周期重叠的情况下。保存这些ID供以后使用,通过套接字发送它们,等等,似乎没有什么用处。再说一次,我不认为这真的适合那些不知道自己需要它的人

如果要生成跨多个程序实例的唯一ID,可以签出

我也想到你可能想


可能有一些解决问题的方法比尝试使用id()函数更简洁,也许问题需要重新格式化。

如果OP并行运行多个Python实例,那么它就不能保证是唯一的。我们需要知道你打算用
test\u id
做什么才能真正回答这个问题。对于与
=
比较相等的输入,您所说的唯一性是指唯一性,还是在不同时间创建的此类对象应具有不同的
测试id
s?那么跨调用或过程又如何呢?