In Python erfordern zusammengesetzte Anweisungen wie if, for, def und class einen Doppelpunkt :
.
if True:
print('Hello, world!')
Die Kopfzeile jedes Abschnitts beginnt mit einem eindeutig identifizierenden Schlüsselwort und endet mit einem Doppelpunkt. 8. zusammengesetzte Anweisung - Python-Sprachreferenz
In der offiziellen Dokumentation wird erklärt, warum Sie den Doppelpunkt :
schreiben müssen.
Wenn Sie in einer Zeile mit einem Semikolon ;
in einer Zeile schreiben, ist dies leichter zu verstehen. Zu diesem Zeitpunkt wäre es ohne :
ziemlich verwirrend.
def f(x): y = x + 1; z = y + 2; return z;
f(0)
>>> def f(x): y = x + 1; z = y + 2; return z;
...
>>> f(0)
3
>>>
Im offiziellen Dokument wird die Methode des Schreibens in mehreren Zeilen als Beispiel für die Rede von ABC-Sprache usw. angegeben, aber ich persönlich denke, dass der Einzeiler, der dieses Semikolon verwendet, kritischer war (; Ich benutze es selten, aber lol).
Es ist ein einfacher Satz, aber ich denke, es ist einfacher zu verstehen, wenn es einen Doppelpunkt gibt: im Fall eines Lambda-Ausdrucks.
g = lambda x: x + 1
g(0)
>>> g = lambda x: x + 1
>>> g(0)
1
>>>
Ich habe Einrückungen anstelle von Klammern verwendet, um Sätze zu gruppieren. Ist es nicht etwas streng darauf zu bestehen, dass "es einfacher zu analysieren ist, wenn Sie den Doppelpunkt verwenden": "nur am Anfang"? Persönlich denke ich.
Benötigen Sie diesen Doppelpunkt nicht? Wird oft kritisiert. Ich glaube auch nicht, dass ich ehrlich bin. Dies liegt daran, dass es selten vorkommt, zusammengesetzte Sätze mit einem Liner zu schreiben.
Python ist jetzt ziemlich vielseitig, aber mit dem Geist "Sie müssen nichts haben, was Sie wollen" habe ich das Gefühl, dass ich beim Hinzufügen neuer Funktionen vorsichtig war. Ich denke, dass der Geist durch die folgenden Worte von PEP 20 klar ausgedrückt wird.
There should be one-- and preferably only one --obvious way to do it. PEP 20 -- The Zen of Python
Es kann hier genauer sein zu sagen "Ich brauche nicht die Fähigkeit, in einen Liner mit Semikolon zu schreiben"; "" anstatt den Doppelpunkt nicht zu brauchen ":".
Ich habe über den Prozess des Schreibens eines Doppelpunkts nachgedacht, aber ... ich möchte in der Lage sein, mit einem Semikolon zu schreiben, sogar in einem Liner. Dazu müssen Sie einen Doppelpunkt :
schreiben. Das Schreiben oder Nichtschreiben eines Doppelpunkts :
ist mit und ohne Einzeiler inkonsistent.
Special cases aren't special enough to break the rules. PEP 20 -- The Zen of Python
Lassen Sie uns also vereinheitlichen, indem Sie einen Doppelpunkt :
hinzufügen. Ich persönlich frage mich, ob das der Fall war.
Recommended Posts