python - 比 dir() 更好的东西?
问题描述
Pythondir()
很好,不要误会我的意思。但我想要一个列表,它实际上可以告诉我对象是什么类型的东西:方法、变量、继承的东西等。
据我所知,dir
总是返回一个简单的字符串列表,没有说明对象是什么。我检查了文档,dir()
但没有看到任何获得更好信息的方法。
是否有任何其他软件包或工具可以做到这一点?
解决方案
我想要一个实际上告诉我对象是什么类型的列表:方法、变量、继承的东西等。
pyclbr
内置模块可能对您有用,如果您对某些 *.py 文件中的类感兴趣,请将somefile.py
内容设为
class MyClass():
def parent_method(self):
return None
class MyChildClass(MyClass):
def child_method(self):
return None
然后
import pyclbr
objects = pyclbr.readmodule("somefile")
print(objects['MyChildClass'].super)
print(objects['MyChildClass'].methods)
输出
['MyClass']
{'child_method': 6}
解释:pyclbr
不执行代码,而是从python源代码中提取信息。在上面的示例中,.super
我们可以得出结论,它MyChildClass
是第 6 行中定义方法的MyClass
子MyChildClass
元素child_method
推荐阅读
- java - 在 IE11 中使用 Selenium 和 Robot 类下载文件
- java - 更新了 `JWTClaimsSet.setAllClaims` 的等效项
- html - 非“Html 5”流行?
- dart - 如何用 Flutter 实现这种布局
- php - 将 Woocommerce 结帐状态字段设为必填
- java - 从java中的json文件读取
- mysql - 如何在我的 Azure WebApp 和 MySQL DB 之间使用 Bitnami Memcached,两者都是 PaaS 服务?
- ruby-on-rails - Rails 循环遍历数据库表并按名称拒绝一个对象
- python - 如何从动态表中检索数据 - selenium python
- wpf - 如何从 OpenId 重定向 url 获取访问令牌