我自动为一些Python代码生成单元测试,其代码数以千计。 unittest
模块使用类来包含测试,但是我猜测类可能包含的方法数量有上限 - 是这种情况吗?
答案 0 :(得分:8)
类的方法(实际上所有属性)存储在dict
中。 dict
可以包含的项目数量没有限制,除非每个键必须是唯一的。
答案 1 :(得分:6)
我强烈怀疑你是否曾经达到极限,即使有一个极限。据我所知,对象可以拥有的方法数量仅受内存限制。我刚刚定义了一个具有一百万个函数的类,没有问题。如果你不相信我,试试这个:
>>> class C(object): pass
>>> for i in xrange(10**6):
exec('C.func%d=lambda self: %d'%(i,i))
>>> c = C()
>>> c.func1()
1
>>> c.func999999()
999999
如果你的班级有超过一百万个功能(地狱,或者十几个左右),你还有其他问题。