要给一个类动态的增加方法,有多种方式:
可以通过继承的方式,但是如果继承的类是标准库中的,由于无法修改,所以行不通。
通过类装饰器,唯一的问题是装饰器无法继承。
python类动态增加方法实例
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类动态增加方法的两种方式,希望能对大家有所帮助。
神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试