gpt4 book ai didi

python - 独特的 SHA-1 摘要生成

转载 作者:行者123 更新时间:2023-11-28 20:09:20 25 4
gpt4 key购买 nike

在 Python 中,我创建了 3 个对象,每个对象都有一个唯一的标识符。

我在所有这些对象中生成这个唯一标识符的方式如下:

class Foo(object):
def __init__(self):
unique_id = hashlib.sha1(str(time.time())).hexdigest()

我像这样一个接一个地创建这些对象:

a = Foo()
b = Foo()
c = Foo()

所有这些实例最终都具有相同的 unique_id,因为它们的创建之间没有足够的时间间隔。

我已经求助于在对象创建之间放置一个sleep(0.1),但我确信有更优雅的方法来解决这个问题。

建议?

最佳答案

Python 对象已经有一个唯一标识符,即它们的 id。不过,只有在对象存在的情况下,这才是唯一的; id 可以在删除对象后重用。

您还可以使用 uuid来自标准库的模块,或者只在类中保留一个计数器:

class Foo(object):
__COUNT = 0
# or: __COUNT = random.randint(0, 2**N - 1)

def __init__(self):
self.unique_id = self.__COUNT # or take the SHA1 of the count
type(self).__COUNT += 1

关于python - 独特的 SHA-1 摘要生成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11041193/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com