Python类的最大方法数是多少?

时间:2011-03-08 01:03:55

标签: python unit-testing class methods

我自动为一些Python代码生成单元测试,其代码数以千计。 unittest模块使用类来包含测试,但是我猜测类可能包含的方法数量有上限 - 是这种情况吗?

2 个答案:

答案 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

如果你的班级有超过一百万个功能(地狱,或者十几个左右),你还有其他问题。