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

我可以为内置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


慕丝7291255
浏览 897回答 3
3回答

qq_遁去的一_1

是的,通过继承这些类型。请参阅Python中的统一类型和类。不,这并不意味着实际的dicts会有这种类型,因为这会令人困惑。对内置类型进行子类化是添加功能的首选方式。

红颜莎娜

刚试过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()
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python