文章 > Python基础教程 > python类动态增加方法的两种方式

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

头像

小妮浅浅

2021-03-02 17:07:05755浏览 · 0收藏 · 0评论

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基础教程

关注公众号

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图 底部广告图按钮