Ich bin noch neu im Python-Schreiben. .. .. Die einzeilige Notation im Titel sagt "???", also mache ich mir ein paar Notizen. .. ..
Mit Python können Sie ein if-Dokument in einer Zeile schreiben. Es ist so.
# (So was)
>>> print('True') if True else print('False')
True
Ich wollte das damit schreiben.
# (Dies)
>>> if True:
... para = 'True'
... else:
... para = 'False'
...
>>> para
'True'
>>>
Als ich es schrieb, bekam ich einen Fehler.
>>> para = 'True' if True else para = 'False'
File "<stdin>", line 1
SyntaxError: can't assign to conditional expression
>>>
Es scheint so richtig zu schreiben.
>>> para = 'True' if True else 'False'
>>> para
'True'
Das war's.
Ersetzen Sie die Variable "para" auf der linken Seite durch die rechte Seite. Die Geschichte, was als rechte Seite zu schreiben ist. In diesem Sinne gilt der Wert "'True', wenn True else'False '", aber Der Wert "'True' wenn True else para = 'False'" ist unnatürlich. Ich war ein wenig überzeugt.
>>> 'True' if True else 'False'
'True'
>>> 'True' if True else para = 'False'
File "<stdin>", line 1
SyntaxError: can't assign to conditional expression
■ Schreiben Sie eine if-Anweisung in eine Zeile mit dem ternären Operator von Python (bedingter Operator). https://note.nkmk.me/python-if-conditional-expressions/
■Why is this simple conditional expression not working? [duplicate] https://stackoverflow.com/questions/32954481/why-is-this-simple-conditional-expression-not-working
Nein, ich habe mich gefragt, ob ich nicht schlafen würde, weil es ein Wochentag ist, aber ich war neugierig.
Ich dachte, das wäre das erste Missverständnis.
(Anweisung wird ausgeführt, wenn True) if (Bedingung) else (Anweisung wird ausgeführt, wenn False)
Das ist aber etwas anders. (Vielleicht ist es in gewissem Sinne wahr ...) Bis zuletzt gibt die if-Anweisung einen Wert zurück, der auf einer Bedingung basiert. Eine solche.
(Wert wird zurückgegeben, wenn True) if (Bedingung) else (Wert wird zurückgegeben, wenn False)
Dann fragte ich mich, was die erste Druckaussage war.
>>> a = print(3)
3
>>> a
>>> type(a)
<class 'NoneType'>
>>> a
>>> a is None
True
Das war's. Ist der Druck in C # ein ungültiger Typ? Nein. Ich frage mich, ob es None im Objekttyp zurückgibt.
Die Zeichen werden also während der Ausführung gedruckt, um den Wert "print ('True')" zu erhalten.
Ich bin überzeugt.
Recommended Posts