python - 有类似 OldStyleClass.mro() 的东西吗?
问题描述
我正在尝试了解旧式课程中的 MRO。为 NewStyleClass.mro()(或 NewStyleClass.__mro__)提供一个等价物会很方便。
有类似 OldStyleClass.mro() 的东西吗?也许是一种快速简便的模拟方法?
解决方案
您可以将inspect
模块的资源与旧样式类一起使用:
class A: # "old" style class
pass
class B(A):
pass
hasattr(B, '__mro__')
# -> False
import inspect
print inspect.getmro(B)
# -> (<class __main__.B at 0x7f1b5ee1b530>, <class __main__.A at 0x7f1b5ee1b4c8>)
推荐阅读
- php - 在 Docker 文件中自定义安装
- clickatell - Clickatell 使用 Rest API 获取路由错误
- android - 构建 apk 发布时的密钥库和密钥别名错误
- node.js - 带有nodejs(express)和mysql的小“浏览器游戏”
- spring-boot - 从 spring 使用带有安全标头的 SOAP Web 服务
- runtime-error - “短信传输被拒绝” m590 设备
- sql - SQL - 比较连续记录
- prettier - 在 [ ] / 数组之后停止单行格式?
- php - 如何在 SQL 查询中将 bindValue 与 LIKE 运算符一起使用?
- ruby-on-rails - 正则表达式 Ruby - 字符串后不跟“/”