如何判断一个类的属性是实例属性还是实例方法?

来源:10-1 课程总结

码农小杨

2020-07-29

In [34]: def   b():
    ...:     print("a")
    ...:

In [35]: class A:
    ...:     a = b
    ...:     def aa(self):
    ...:         print(f"{self.a}")
    ...:

老师 你看上面的 代码
类A 有类变量 a 指向 方法b , 还有实例方法aa

我想获取到 类A有哪些实例方法 你知道怎么获取吗?
(如果使用dir获取属性列表再去判断是否是函数 会误判类变量a)

写回答

1回答

咚咚呛

2020-07-30

这是属于Python编程语言的内容哈。

建议可以了解下inspect包。

通过A.__dict__迭代属性,再通过inspect.isfunction(),就可以判断是不是实例方法了。

希望对你有所帮助。

0
0

Django+小程序技术打造微信小程序助手

0到1完整项目实战过程,是难得的Django+小程序全栈项目体验。

991 学习 · 507 问题

查看课程