谁能解释一下初始化mbr2的表达式?
class MyClass(object):
def __init__(self, param1, param2=None):
self.mbr1 = param1
self.mbr2 = ({}, param2)[bool(param2)]
谢谢。
请您参考如下方法:
逻辑根据 param1 的真实性 从元组中选择两个值之一。如果 False 元组索引为 0,否则为 1; bool 值很容易被强制转换为整数。
使用三元运算符可以更清楚地表达:
self.mbr2 = param2 if param2 else {}
或用或短路:
self.mbr2 = param2 or {}
