Ich arbeite mit web2py und ich habe durch den Quellcode gesucht, um ein besseres Verständnis zu bekommen. Mehrere Male habe ich Zuweisungen haben gesehen, wieIn Python, was ist der Punkt von 'x oder False' und 'False und x?
# in file appadmin.py
is_gae = request.env.web2py_runtime_gae or False
Wenn request.env.web2py_runtime_gae wahr ist, dann Falsch keine Rolle spielt. In beiden Fällen wird der Ausdruck falsch, wenn request.env.web2py_runtime_gae false ist.
Und auch:
# in file appadmin.py
if False and request.tickets_db:
from gluon.restricted import TicketStorage
Der zweite Teil der und Klausel nie ausgewertet wird, weil Falsch und x immer false zurück.
Also warum sollte man so etwas tun?
Python ist eine faszinierende und bizarre Sprache. – DeathByTensors
Es ist eine Funktion namens [Kurzschlussauswertung] (https://en.wikipedia.org/wiki/Short-circuit_evaluation) und ist in vielen Sprachen wie JavaScript vorhanden. – 4castle