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

Bre*_*dan 4 python methods unit-testing class

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

Ign*_*ams 8

类的方法(实际上所有属性)都存储在一个dict.除了dict每个键必须唯一之外,对于可以包含的项目数量没有限制.


Chi*_*chi 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
Run Code Online (Sandbox Code Playgroud)

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