很抱歉,这个标题很难用几句话说清楚。这是场景:
我想构建一个函数,用户可以告诉它“我想要这个对象和那个对象”,并且该函数将创建(不同类的)这些对象并返回它们。一个例子会更清楚:
init_objects(init_a: bool, init_b: bool, init_c: bool) -> Tuple:
return (
ClassA() if init_a else None,
ClassB() if init_b else None,
ClassC() if init_c else None
)
# A user calls with
a, _, c = init_objects(init_a=True, init_b=False, init_c=True)
当然,功能会稍微复杂一些,但这是基本问题。现在说我有10个不同的班级,是否有更清洁的方法来做到这一点?每个布尔值都感觉不对。是否有一种干净的方法返回仅包含所请求对象的元组(未使用时不包含None
)?
这样的事情?