python类动态增加方法的两种方式

  • 更新时间:2021-08-03 09:44:04
  • 编辑:文傲蕾
我们帮大家精选了相关的编程文章,网友方思思根据主题投稿了本篇教程内容,涉及到Python相关内容,已被210网友关注,下面的电子资料对本篇知识点有更加详尽的解释。

参考资料

正文内容

《python类动态增加方法的两种方式》是一篇值得学习的技术文章,感觉很有用处,重新排版了一下发到这里,为了大家阅读方便。

python类动态增加方法的两种方式

本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

1、要给一个类动态的增加方法,有多种方式:

可以通过继承的方式,但是如果继承的类是标准库中的,由于无法修改,所以行不通。

通过类装饰器,唯一的问题是装饰器无法继承。

2、实例

class Document:
    def __init__(self, content):
        self.content = content
 
class Word(Document):
    def __init__(self, content):
        super().__init__('word: {}'.format(content))
 
def printable(cls):
    def _print(self): # 给类加了这个方法
        print('P: {}'.format(self.content))
    cls.print = _print
    return cls
 
@printable
class PrintableWord(Word):
    def __init__(self, content):
        super().__init__(content)
 
>>> PrintableWord('abc').print()
P: word: abc

以上就是python类动态增加方法的两种方式,希望能对大家有所帮助。更多Python学习指路:

相关教程

  • python 将numpy维度不同的数组相加相乘操作

    这篇文章主要介绍了python 将numpy维度不同的数组相加相乘操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    发布时间:2021-05-02

  • python中time tzset()函数实例用法

    在本篇文章里小编给大家整理的是一篇关于python中time tzset()函数实例用法内容,有兴趣的朋友们可以学习下。

    发布时间:2021-05-02

用户留言