首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >注入python类成员函数

注入python类成员函数
EN

Stack Overflow用户
提问于 2018-08-04 02:52:08
回答 1查看 407关注 0票数 1

下面的代码可以在python3中运行,但不能在python2中运行。为了清楚起见,我尝试将另一个类(Class1)的成员函数注入到目标类(Class2)中,以便该函数使用来自self的适当成员属性。

为什么它可以在python3中工作,我还可以做些什么来获得python2中所需的行为?

class Parent:
  def foo(self):
    print("foo of class Parent: instance " + self.__class__.__name__)

  def __init__(self):
    self.d = {"foo": self.__class__.foo}

  def bar(self):
    self.d['foo'](self)
    self.d['foo'] = Child1.foo
    self.d['foo'](self)

class Child1(Parent):
  def foo(self):
    print("foo of class Child1: instance " + self.__class__.__name__)

class Child2(Parent):
  pass

Child2().bar()
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51678541

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档