请选择 进入手机版|继续访问电脑版
发新帖

Python 怎么动态地给实例添加 magic method

[复制链接]
8105 3

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
python2.7 怎么动态地给实例添加 magic method,比如说
from functools import partialclass A(object):    def __init__(self, x):        self.val = x        a = A(1)magic = lambda self: "self.val=%s"%self.vala.__str__ = partial(magic, a)期望能输出这样地结果
print(str(a))        # self.val=1但实际地输出是
print(str(a))        # 而这么调是可以地
print(a.__str__())        # self.val=1试过元类, 但是私有方法没办法继承, 所以也不行。 大佬们有没有思路。。。

举报 使用道具

回复
wcsjtu  新手上路  发表于 5 天前 | 显示全部楼层
....打扰了, 用元类可以解决。。。。

举报 使用道具

回复
luzhongqiu  注册会员  发表于 5 天前 | 显示全部楼层
确定不是 __unicode__? python3 才是__str__吧,我没试验,记得是这样。。放弃 py2 到 py3 吧。。。

举报 使用道具

回复
rookiebulls  新手上路  发表于 5 天前 | 显示全部楼层
partial(magic, a)是个函数啊

举报 使用道具

回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表