【发布时间】:2012-03-18 18:37:09
【问题描述】:
我将要编写一个函数来为一个类找到一个正确的处理程序。为了实现它,我想使用从类到处理程序的映射。我已经检查过可以将类用作字典键,但是我不完全确定这样做是否正确。
我主要关心的是,如果可以保证如果我在两个不同的模块中导入了一个类,那么这两个将具有相同的哈希值。但也许我应该考虑其他一些方面。
如果使用类本身的想法是错误的,那么我将使用类名,但这需要我保持它们的唯一性,所以我更愿意使用类本身。
编辑:我做了一个测试:
# file: a.py
import datetime
D = datetime.datetime
# file: b.py
import datetime
from a import D
print hash(D) == hash(datetime.datetime)
这会打印“True”,但我仍然不确定是否有办法让同一类为 False。
【问题讨论】:
标签: python class dictionary hashmap