まずは悪いタイトルで申し訳ありませんが、何が適切かはわかりませんでした。私は自分自身を繰り返さないように、次のブロックのより良い構文を探しています。 self.rulerMajorTickLabelとself.rulerMinorTickLabelがself.rulerMajorTickWidthとself.rulerMinorTickWidthだけelif elseを構築してDRYを完全に実行した場合
if self.rulerMajorTickLabel and self.rulerMinorTickLabel:
if self.rulerMajorTickWidth > self.rulerMinorTickWidth:
halfTickHeight = self.rulerMajorTickWidth/2
else:
halfTickHeight = self.rulerMinorTickWidth/2
elif self.rulerMajorTickLabel:
halfTickHeight = self.rulerMajorTickWidth/2
elif self.rulerMinorTickLabel:
halfTickHeight = self.rulerMinorTickWidth/2
else:
halfTickHeight = 0
正フロートすることができ
- おかげで、あなたは非常に!
if...elif...else
の句に相当します。メジャーとマイナーなアイデアをいくつかの方法に分解し、そこから行く方法を検討することから始めたいと思います。 –
また、「真」でない潜在的な値は何ですか?値は 'None'ですか?彼らは属性として未定義ですか?彼らは「偽」になれますか?それとも単に「0」ですか? –
self.rulerMajorTickLabelとself.rulerMinorTickLabelは、TrueまたはFalseのいずれかです。self.rulerMajorTickWidthおよびself.rulerMinorTickWidthは、正の浮動小数点のみにすることができます。混乱のために申し訳ありません – doom4