python - 添加一个调用继承函数的方法
问题描述
我正在尝试为一个类添加一个方法,它将调用继承类中的另一个方法。但是我遇到了一个错误,可能是因为内部函数调用被读取为函数而不是方法。
下面是一个例子:
class ListItems():
def do_something(self):
print('doing')
class TargetClass(ListItems):
pass
def external_function(self):
print('i want to do something special')
self.do_something()
setattr(TargetClass, 'external_function', classmethod(external_function))
target = TargetClass()
target.external_function()
错误:
TypeError: do_something() missing 1 required positional argument: 'self'
我知道这是一种元编程,但我没有找到如何实现它。在 Python 中可能吗?
解决方案
推荐阅读
- android - 检查两个位置实例的值是否相同?
- node.js - REST API 可以作为 CORS 问题的代理吗?
- database-design - 使用 NoSQL 技术对用户排名系统进行建模
- java - 简单的 Java 11 JavaFX 程序,从 JAR 文件运行时出错 (Windows)
- mongodb - 使用索引的MongoDB慢查询
- docker - 在 kubernetes 集群中部署映像获取 CrashLoopBackOff
- ios - iOS 12 - NSLocale 问题
- amazon-web-services - 我们可以创建一个有权在 AWS 中创建其他 IAM 用户的 IAM 用户吗
- json.net - 为什么 Json.Net 在反序列化第一次时间会导致大量分配
- android - ConstraintLayout by Code - 过早设置约束