加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

在python中以编程方式向类添加继承?

发布时间:2020-12-20 12:37:02 所属栏目:Python 来源:网络整理
导读:我可以让一个类继承 Python中的“in-program”类吗? 继续我到目前为止所拥有的: base = list(cls.__bases__)base.insert(0,ClassToAdd )base = tuple( base )cls = type( cls.__name__,base,dict(cls.__dict__) ) 解决方法 这是一个例子,使用Greg Hewgill
我可以让一个类继承 Python中的“in-program”类吗?

继续我到目前为止所拥有的:

base = list(cls.__bases__)
base.insert(0,ClassToAdd )
base = tuple( base )
cls = type( cls.__name__,base,dict(cls.__dict__) )

解决方法

这是一个例子,使用Greg Hewgill的建议:

class Foo(object):
    def beep(self):
        print('Hi')

class Bar(object):
    x=1  

bar=Bar()
# bar.beep()
# AttributeError: 'Bar' object has no attribute 'beep'

Bar=type('Bar',(Foo,object),Bar.__dict__.copy())
bar.__class__=Bar
bar.beep()
# Hi

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读