Die Einschlussnotation in Python ist praktisch, aber wenn Sie versuchen, etwas Kompliziertes zu tun, erhalten Sie eine mehrstufige Verschachtelung. Durch das Verschachteln wird die Lesbarkeit erheblich verringert. Aus diesem Grund denke ich, dass viele Leute es in Blocknotation umschreiben werden, wenn die Verschachtelungshierarchie tiefer wird.
Wenn Sie jedoch Regeln festlegen und diese einrücken, wird die Lesbarkeit durch das Verschachteln nicht beeinträchtigt. Zum Beispiel sieht es so aus:
itemList = [
(item.name, item.price)
for item in record.items()
for purchase in purchases
if purchase.campaignName in {
campaign.name
for campaign in camapigns
} and purchase.date > datetime.date.today() - datetime.timedelta(days = 7)
]
Es mag etwas gewöhnungsbedürftig sein, aber sobald Sie sich daran gewöhnt haben, ist es viel einfacher zu lesen als die Blocknotation. In Anbetracht der Tatsache, dass die Blocknotation unnötige Listenspeichervariablen erhöht und die Lesbarkeit verringert, ist der Vorteil, in der Inklusivnotation unbegrenzt verschachteln zu können, ziemlich groß.
Recommended Posts