python 类问题:如何将一个类实例传入其他类中?

class Dog():
    def __init__(self):
        self.routes={}
    def 装饰器(self, 狗):
        def 储存(fuc):
            self.routes[狗] = fuc
            return fuc
        return 储存
    def 跑(self):
        print('跑')
class WhiteDog():
    a=Dog()
    @a.装饰器('狗')
    def 快跑(self):
        print('白色小狗跑')
class BlackDog():
    def __init__(self):
        WhiteDog.__init__(self)
    def 调用(self):
        self.a.跑()
'''程序目的:1.使用BalckDog类中的调用函数,调用WhiteDog中的实例
            2.在a中有两个方法,一个用来装饰其他函数,一个用来跑函数
            3.跑的函数在BlackDog中通过a的实例调用函数
            4.装饰器修饰WhiteDog类中的快跑函数
            '''
'''出现的问题:1.WhiteDog.__init__(self),它的功能是继承WhiteDog中初始化函数的定义,导入a的实例
            2.如果在WhiteDog类中使用def __init__(self):,将self.a=Dog()写入,就不能使用装饰器
            3.所以,使用实例a=Dog()函数可以使用装饰器,但是无法被导入BlackDog类中。
            4.如果,在WhiteDog类中使用def __init__(self):,将self.a=Dog()写入,就不能使用装饰器'''
'''希望得到的答案:有没有那种写法既可以使用装饰器,又可以将实例传给别的类,让其可以调用原先的函数'''
ff=BlackDog()
ff.调用()

结果:


```python

Traceback (most recent call last):
  File "C:\Users\Win10\PycharmProjects\untitled5\量化交易\量化交易-实战篇-做出kd指标.py", line 30, in <module>
    ff.调用()
  File "C:\Users\Win10\PycharmProjects\untitled5\量化交易\量化交易-实战篇-做出kd指标.py", line 27, in 调用
    self.a.跑()
AttributeError: 'BlackDog' object has no attribute 'a'

```

你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答


本次提问扣除的有问必答次数,已经为您补发到账户,我们后续会持续优化,扩大我们的服务范围,为您带来更好地服务。