是否可以将自己的自定义函数添加到现有对象中?
例如,'字符串'数据类型没有内置reverse()
函数,与list
不同,有没有办法添加反向函数,如果我有一个字符串变量var
,var.reverse()
会返回反向的字符串?
我认为这样做的一种方法是,如果我创建一个class CustomString
,它具有与字符串相同的属性但具有额外定义的反向函数,这可能吗? (我还不熟悉Python OOP)
或者还有另一种方法吗?
答案 0 :(得分:0)
您可以使用继承来执行此操作:
class new_string(str):
def reverse(self):
blah
s = new_string('hello')
s.reverse()
编辑:你的代码是这样的:
>>> class S(str):
... def reverse(self):
... return self.__str__()[::-1]
...
>>> s = S('hello')
>>> s.reverse()
'olleh'