私はそれらをどのように解釈するのかよくわかりません.
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
これは正確には何を言っているのですか?
これは、条件式として知られています。
式xifC else yは、最初に条件C(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