2016-05-07 11 views
1

Ich bin vertraut mit Python Kurzschlüssen (AND, OR, NOT), aber diese scheint mich seltsam.Python Eingabe basierend auf Kurzschluss

Hier ist sie:

Was bedeutet die folgende Zeile von Python-Code tun?

day = input("What day do you want [Tuesday]: ") or "Tuesday" 

Ich bin nicht genau sicher, was es vom Benutzer bekommt und wie es nützlich ist.

Antwort

0

Wenn das Ergebnis des Aufrufs input() falsch ist, was in diesem Fall eine leere Zeichenfolge wäre, erhält day'Tuesday' als Standardwert. Wenn der Benutzer überhaupt irgendwelche Zeichen eingibt, bevor der Enter-Taste wird day auf den String gesetzt werden sie eintraten.

2

In Python 3 wird dieses Set day zu dem, was der Benutzer, wenn der Benutzer nicht nur trifft ein. In diesem Fall input wird die leere Zeichenkette, deren Wahrheitswert false zurück, so wird es "Tuesday" stattdessen verwenden. Sie dies hier sehen können:

>>> "" or "Tuesday" 
'Tuesday' 

Wenn die Benutzereingabe nicht leer ist, dann wird seine Wahrheitswert wahr sein, und es wird als Ergebnis des or Ausdruck verwendet werden:

>>> "Monday" or "Tuesday" 
'Monday' 
Verwandte Themen