【发布时间】:2013-08-07 08:50:05
【问题描述】:
我想在 Python 中创建一个 Set 类,但与已经在 Python 中实现的 set 类不同,我希望我的 set 只包含一种类型的元素。例如一组整数、一组字符串和一组任何其他用户定义的类。
在 Python 中有没有办法将类型作为参数传递给类?还是有其他方法?
我正在考虑使用 dict 来实现 set,但 dicts 可以包含来自不同类型的元素。
【问题讨论】:
-
集合只是没有值的字典。您必须验证对集合的任何操作的类型;添加、交集、联合等。在初始化程序中说明它应该是什么类型只是任务的一小部分。
-
我认为缺少静态类型会阻止这样的功能。
-
您希望实现什么目标? Python 是动态类型的,这是一个强项。为什么要尝试删除它?
array()类型中有一个实用程序,用于存储原始类型以进行快速操作并减少内存占用,但您也希望支持自定义类型。 -
@njzk2:不,您可以锁定自定义类并将可以添加到集合中的内容限制在一定范围内,但我只是不明白您为什么要这样做。