Python 3.x 在创建类变量的实例之前,如何知道它的类型?

Python 3.x 在创建类变量的实例之前,如何知道它的类型?,python-3.x,python-3.4,Python 3.x,Python 3.4,某些类别,例如: >>> import inspect >>> class Test(object): def test_method(self): pass 现在,让我们检查类对象的变量的类型: >>> type(Test.test_method) <class 'function'> 是的,但那不是我想要的。 让我们尝试检查模块: >>> inspect.ismet

某些类别,例如:

>>> import inspect
>>> class Test(object):
        def test_method(self):
            pass
现在,让我们检查
类对象的
变量的
类型

>>> type(Test.test_method)
<class 'function'>
是的,但那不是我想要的。 让我们尝试检查模块:

>>> inspect.ismethod(test_var.test_method)
True
>>> inspect.ismethod(Test.test_method)
False

没有为什么?

在绑定到实例之前,类上的方法只是一个函数。“你到底想达到什么目的?”Jornsharpe,谢谢,我会知道的。我想要这样的东西:
如果inspect.ismethod(SomeClass.smth):print(“这是一个方法”)
现在我认为这是不可能的:)这并不能真正回答我的问题-为什么你想要它?仅仅检查一个函数而不是一个方法有什么问题,或者甚至是如果可调用(SomeClass.smth):
?@jornsharpe现在我正在学习Python装饰程序,例如,我自己写了这样一个工具:
http://pastebin.com/SFqcTdLJ
我只想在输出中提供更多信息。在绑定到实例之前,类上的方法只是一个函数。“你到底想达到什么目的?”Jornsharpe,谢谢,我会知道的。我想要这样的东西:
如果inspect.ismethod(SomeClass.smth):print(“这是一个方法”)
现在我认为这是不可能的:)这并不能真正回答我的问题-为什么你想要它?仅仅检查一个函数而不是一个方法有什么问题,或者甚至是如果可调用(SomeClass.smth):
?@jornsharpe现在我在学习Python装饰程序,例如,我编写了这样一个工具供自己使用:
http://pastebin.com/SFqcTdLJ
我只想在输出中提供更多信息。
>>> inspect.ismethod(test_var.test_method)
True
>>> inspect.ismethod(Test.test_method)
False