我不太确定如何解释它们,我仍在努力找出它们到底在做什么..
color = self.color2
color = self.fill1 if color == self.fill2 else self.fill2
这到底在说什么?
我不太确定如何解释它们,我仍在努力找出它们到底在做什么..
color = self.color2
color = self.fill1 if color == self.fill2 else self.fill2
这到底在说什么?
这称为条件表达式。
表达式 x if C else y 首先计算条件 C (not x); 如果 C 为真,则计算 x 并返回其值;否则,评估 y 并返回其值。
因此,您的具体示例相当于:
if color == self.fill2:
color = self.fill1
else:
color = self.fill2
这不是列表理解。它是一种语法糖。具有讽刺意味的是,它旨在提高可读性。
它可以解释为:
if color == self.fill2:
color = self.fill1
else:
color = self.fill2
好吧,它准确地说出它所说的:如果值等于,则将 的值self.fill1
放入变量中,否则放入。它被称为三元运算符,您可以在此处找到有关它的更多信息。color
color
self.fill1
self.fill2