为了账号安全,请及时绑定邮箱和手机立即绑定

我可以为内置Python类型添加自定义方法/属性吗?

我可以为内置Python类型添加自定义方法/属性吗?

慕丝7291255 2019-08-27 18:06:48
我可以为内置Python类型添加自定义方法/属性吗?例如 - 假设我想helloWorld()为Python的dict类型添加一个方法。我可以这样做吗?JavaScript有一个行为方式的原型对象。也许这是糟糕的设计,我应该继承dict对象,但它只适用于子类,我希望它可以在任何和所有未来的词典上工作。以下是它在JavaScript中的表现:String.prototype.hello = function() {     alert("Hello, " + this + "!");}"Jed".hello() //alerts "Hello, Jed!"这是一个有用的链接,包含更多示例 - http://www.javascriptkit.com/javatutors/proto3.shtml
查看完整描述

3 回答

?
qq_遁去的一_1

TA贡献1725条经验 获得超7个赞

是的,通过继承这些类型。请参阅Python中的统一类型和类。

不,这并不意味着实际的dicts会有这种类型,因为这会令人困惑。对内置类型进行子类化是添加功能的首选方式。


查看完整回答
反对 回复 2019-08-27
?
红颜莎娜

TA贡献1842条经验 获得超12个赞

刚试过forbbidenfruit!

这是代码,非常简单!

from forbiddenfruit import cursedef list_size(self):
    return len(self)def string_hello(self):
    print("Hello, {}".format(self))if __name__ == "__main__":
    curse(list, "size", list_size)
    a = [1, 2, 3]
    print(a.size())
    curse(str, "hello", string_hello)
    "Jesse".hello()


查看完整回答
反对 回复 2019-08-27
  • 3 回答
  • 0 关注
  • 896 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信