【发布时间】:2009-07-07 09:23:23
【问题描述】:
在 Python 中,我需要高效且通用地测试类的属性是否为实例方法。调用的输入将是被检查属性的名称(一个字符串)和一个对象。
无论属性是否为实例方法,hasattr 都会返回 true。
有什么建议吗?
例如:
class Test(object):
testdata = 123
def testmethod(self):
pass
test = Test()
print ismethod(test, 'testdata') # Should return false
print ismethod(test, 'testmethod') # Should return true
【问题讨论】:
-
你确定你需要知道它是一种方法吗?你真的很想知道你能不能打电话吗?这些不一定是同一件事(尽管它们当然经常是)。
-
看源码有什么问题?这是 Python——你有源代码——你为什么不能简单地阅读它?
-
阅读源代码没有任何帮助-大概他正在编写一些需要在运行时知道答案的代码。例如,可能遍历对象的所有属性。
标签: python methods attributes instance