Python导入调用为__init__初始化参数

时间:2019-06-25 16:05:15

标签: python oop

我正在尝试在Python中进行一些简单的依赖注入。例如:

logic.py

class A(object):
    def __init__(self):
        print("A")

class B(object):
    def __init__(self, a = A()):
        self.a = a

因此,将A()作为B()的默认参数调用

main.py

from logic import B #this calls A()

if __name__ == "__main__":
    print("main") # No concrete call to B() or A()

输出:

  

A

     

主要

如果我只想导入A(),谁能解释为什么调用B吗?为什么调用import B运行__init__的{​​{1}}?

要解决此问题,只需将A更改为:

__init__

0 个答案:

没有答案