360 Stimmen

Gibt es eine Abkürzung für die Rückgabe eines Standardwertes, wenn None in Python?

In C# kann ich sagen x ?? "" was mir x liefert, wenn x nicht null ist, und die leere Zeichenkette, wenn x null ist. Ich habe es für die Arbeit mit Datenbanken nützlich gefunden.

Gibt es eine Möglichkeit, einen Standardwert zurückzugeben, wenn Python None in einer Variablen findet?

570voto

starhusker Punkte 5742

Sie könnten die or Betreiber:

return x or "default"

Beachten Sie, dass dies auch "default" wenn x ist ein beliebiger falscher Wert, einschließlich einer leeren Liste, 0, einer leeren Zeichenkette oder sogar datetime.time(0) (Mitternacht).

251voto

brent.payne Punkte 4759
return "default" if x is None else x

Versuchen Sie es mit dem oben genannten.

74voto

Ashwini Chaudhary Punkte 231447

Sie können eine bedingter Ausdruck :

x if x is not None else some_value

Ejemplo:

In [22]: x = None

In [23]: print x if x is not None else "foo"
foo

In [24]: x = "bar"

In [25]: print x if x is not None else "foo"
bar

3voto

Jon Clements Punkte 134241

Sie haben die ternäre Syntax x if x else '' - Ist es das, was Sie wollen?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X