Einschlussnotation in Python einrücken

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)
]
  1. Richten Sie den Einzug der Klammern an der Außenseite der Einschlussnotation aus und rücken Sie einen der Inhalte ein.
  2. Teilen Sie durch Element für Klausel (für Klausel) ... (if-Klausel).

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

Einschlussnotation in Python einrücken
Quadtree in Python --2
Python in der Optimierung
Metaprogrammierung mit Python
Python 3.3 mit Anaconda
Geokodierung in Python
SendKeys in Python
Metaanalyse in Python
Unittest in Python
Epoche in Python
Zwietracht in Python
Deutsch in Python
nCr in Python
N-Gramm in Python
Programmieren mit Python
Plink in Python
Konstante in Python
FizzBuzz in Python
SQLite in Python
Schritt AIC in Python
LINE-Bot [0] in Python
CSV in Python
Reverse Assembler mit Python
Reflexion in Python
Konstante in Python
nCr in Python.
Format in Python
Scons in Python 3
Puyopuyo in Python
Python in Virtualenv
PPAP in Python
Quad-Tree in Python
Reflexion in Python
Chemie mit Python
Hashbar in Python
DirectLiNGAM in Python
LiNGAM in Python
In Python reduzieren
In Python flach drücken
Sortierte Liste in Python
Täglicher AtCoder # 36 mit Python
AtCoder # 2 jeden Tag mit Python
Täglicher AtCoder # 32 in Python
Täglicher AtCoder # 18 in Python
Singleton-Muster in Python
Dateioperationen in Python
Tastenanschlag in Python
Täglicher AtCoder # 33 in Python
Logistische Verteilung in Python
Täglicher AtCoder # 7 in Python
LU-Zerlegung in Python
Ein Liner in Python
AtCoder # 24 jeden Tag mit Python
Fallklasse in Python
RNN-Implementierung in Python
AtCoder # 8 jeden Tag mit Python
Dateiverarbeitung in Python
Elasticsearch Reindex in Python