加载类时会计算默认参数。
from data_listener import DataListener
class Controller:
def __init__(
self,
subscriber=DataListener(port=DEFAULT_SUBSCRIBER_PORT), # These are run!
publisher=JsonPublisher(DEFAULT_PUBLISHER_PORT)):
pass
你需要更新你的
Controller
类,以便在初始化器中惰性地初始化它们
from data_listener import DataListener
class Controller:
def __init__(self, subscriber=None, publisher=None):
self.subscriber = subscriber or DataListener(port=DEFAULT_SUBSCRIBER_PORT)
self.publisher = publisher or JsonPublisher(DEFAULT_PUBLISHER_PORT)