在python中获取类中的函数数?

在python中获取类中的函数数?,python,function,Python,Function,我有一个问题,我希望你能给我一个答案 我正在尝试创建一个函数,该函数返回存储在python文件中的类中的函数数。。有什么好方法可以做到这一点吗?我已经尝试过了: >>> import types >>> class Test(object): def a(self): pass def b(self): pass >>> len([i for i in Test.__dict__.iterv

我有一个问题,我希望你能给我一个答案

我正在尝试创建一个函数,该函数返回存储在python文件中的类中的函数数。。有什么好方法可以做到这一点吗?

我已经尝试过了:

>>> import types

>>> class Test(object):
    def a(self):
        pass
    def b(self):
        pass

>>> len([i for i in Test.__dict__.itervalues() if isinstance(i, types.FunctionType)])
2
我所尝试的:

>>> import types

>>> class Test(object):
    def a(self):
        pass
    def b(self):
        pass

>>> len([i for i in Test.__dict__.itervalues() if isinstance(i, types.FunctionType)])
2
您还可以使用模块:

您还可以使用模块:


如何定义
函数
?如何定义“存储在python文件中”?如何定义
函数
?如何定义“存储在python文件中”?非常感谢,非常有用,,但是我仍然有一个问题,类名在其他文件中,我不知道这里有我的代码导入类型import foo import inspect count=0,用于inspect.getmembers(foo):if inspect.isclass(b):打印一个print len([I for I in a.\u dict\uu.itervalues(),如果isinstance(一、类型、功能类型)])但是它给了我一个错误。我需要指定类名,所以有什么方法可以这样做吗?如果您使用
检查
,请参阅@KayZhu的答案。@user1762447我已经更新了第二个问题的答案。非常感谢,这非常有用,但是我仍然有一个问题,类名在其他文件中,我不知道w这里有个名称是我的代码导入类型import foo import inspect count=0 for a,b in inspect.getmembers(foo):if inspect.isclass(b):打印一个打印len([i for i in a.。\uu dict\uuu.itervalues(),if isinstance(i,types.FunctionType)])但是它给了我一个错误,我需要指定类名,所以有什么方法可以这样做吗?如果你使用
检查
,请看@KayZhu的答案。@user1762447我更新了第二个问题的答案。这应该是首选方法这应该是首选方法
import foo
import inspect

for a,b in inspect.getmembers(foo, inspect.isclass):
    print a 
    print len(inspect.getmembers(b, inspect.ismethod))