菜鸟IT的博客 >> Python
如果setattr函数的第2个参数是类class的对象里面原有的重复的方法函数名称,那么就以新设置的函数方法的函数功能为准
class Person:
name="张三"
def sayCN(self):
print("中文")
# 加1个默认函数,假定它是默认的
def sing(self):
print("唱歌")
ps1=Person()
# 使用setattr这个函数之前,先在类class之外定义1个函数
def BianChengWaiBu():
print("张三学编程!")
# 开始实战学些 setattr 这个函数
# 使用setattr给某个class类设置添加1个方法函数。
# 如果是调用类class外部的函数,那么第3个参数就是外部函数名称,不要双引号
# 那么第2个参数依然是属性名称,但是对应的就是外部函数名称。
setattr(ps1,"BianCheng",BianChengWaiBu)
# 然后执行外部函数
ps1.BianCheng()
# 现在尝试一下,如果setattr函数的第2个参数是类里面重复的方法函数名称,
setattr(ps1,"sayCN",BianChengWaiBu)
ps1.sayCN()
——————————
输出结果:
张三学编程!
张三学编程!
进程已结束,退出代码0
菜鸟IT博客[2021.12.19-19:38] 访问:314