我即将编写一个为类找到正确处理程序的函数。为了实现它,我想使用从类到处理程序的映射。我已经检查过可以使用类作为字典键,但是我不完全确定它是否是正确的想法。在python中使用类作为字典键可以吗?
我主要关心的是,如果保证如果我有一个导入两个不同模块的类,这两个将具有相同的散列。但也许还有一些其他方面我应该考虑。
如果使用类本身的想法是错误的,那么我将使用classnames,但这需要我保持它们的独特性,所以我宁愿使用类本身。
编辑:我做了一个试验:
# file: a.py
import datetime
D = datetime.datetime
# file: b.py
import datetime
from a import D
print hash(D) == hash(datetime.datetime)
这将打印“真”,但我仍然不知道是否有它是假的同一类的一种方式。
谢谢。我仍然相信这是我试图实施的系统所必需的,但感谢您的警告。 – zefciu 2012-02-29 16:26:41