动态给对象增加方法是Python的反射机制吗?
我在看博客有一个问题,
https://blog.csdn.net/zhuibus...
给对象动态添加方法。
class Person(object): def __init__(self, newName, newAge):
self.name = newName
self.age = newAge
def run(self):
print("----%s在跑步----"%self.name)
p = Person("laowang", 100)
#不能单纯的 p.run = run
#因为 run 函数里面有参数,并不会把 p 当作参数传入
#添加方法
#使用 types.MethodType(要添加的函数, 添加函数的对象)
p.run = types.MethodType(run, p)
请问这是Python的反射机制吗?
回答:
这个不算是反射
python的反射机制,核心就是利用字符串去已存在的模块中找到指定的属性或方法,找到方法后自动执行——基于字符串的事件驱动。
可以看看https://blog.csdn.net/qq_41775769/article/details/113527799#:~:text=python%E7%9A%84%E5%8F%8D,%E7%AC%A6%E4%B8%B2%E7%9A%84%E4%BA%8B%E4%BB%B6%E9%A9%B1%E5%8A%A8%E3%80%82
以上是 动态给对象增加方法是Python的反射机制吗? 的全部内容, 来源链接: utcz.com/p/938372.html