python怎么修改内置类?

比如内置类str,有个方法strip().
我想修改strip()这个方法的参数和实现.
那我该怎么做呢?
如果不可以修改,那是否可以给内置类添加一个自定义的方法呢?
如果可以,最好请给个简单的示例.
多谢您的回复!

阅读 3.8k
3 个回答
✓ 已被采纳

你要的是这个吗

str_ = str


def a(self, b, c):
    # 自己的代码
    str_.strip(self, b)
    retrun 


str.strip = a

python可以直接overload,也就是说,你可以在子类上实现一个新的strip函数,这样就覆盖了。

class laplace(str):

    def strip(self, chars=None, string='sorry'):
        return 'something %s' % string

x = laplace()
print x.strip()

继承str重写父类方法 是要这种效果吗?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题