栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

是否可以在__init__函数中有条件地从一组固定的父类集中选择一个类的父类?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

是否可以在__init__函数中有条件地从一组固定的父类集中选择一个类的父类?

Python提供了很多灵活性,但是您正在与该语言提供的类机制进行对抗。无法“不费吹灰之力”地执行此操作,因为您将在该语言提供的功能之上实现自己的机制。老实说,只需忘记使用多重继承,因为
继承不是您要描述的 ,您需要一个代理对象来委派给适当的对象。根据您的特定情况,这看起来可能会有所不同,但这可以帮助您:

In [1]: class A:   ...:     def x (self):   ...:         print('a')   ...:   ...: class B:   ...:     def x (self):   ...:         print('b')   ...:   ...: class C:   ...:     def __init__(self, type_, *args, **kwargs):   ...:         self.__wrapped = type_(*args, **kwargs)   ...:     def __getattr__(self, attr):   ...:         return getattr(self.__wrapped, attr)   ...:   ...:In [2]: C(A).x()aIn [3]: C(B).x()b

注意,方法

C.__init__
是实现的,第一个参数之后的所有内容都传递给委托类型的构造函数。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/668565.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号