Ich habe diese ndb ModellklasseWie ist ndb.StringProperty gleich einer Python-Zeichenfolge? Jetzt
class foo(ndb.Model):
abc = ndb.StringProperty()
wenn ich abc
wie folgt verwendet:
if foo.abc == "a":
print "I'm in!"
Es ist das gerät in, wenn Block und Druck I'm in!
Wie ist das möglich sind?
Ich habe auch versucht foo.abc
Druck, kehrte es StringProperty('abc')
Also, diese Aussage ergibt sich zu 'if StringProperty (' abc ') == "a" 'was' True' ist, aber wenn ich schreibe 'if foo (abc =' bar ') == "a" 'oder' if foo ('xyz') == "a" 'vorausgesetzt, dass' class foo' einen richtigen Konstruktor zur Behandlung dieses Arguments hat. Es wird nicht "True" –
Es ist nie wahr. Es wird in der IF-Anweisung als True behandelt. Probiere 'if 'abc'' aus. In Python None werden leere Strings, 0, leere Liste, leere Tupel, leere Menge als False behandelt. Andere als Wahr in booleschen Ausdrücken. Es sei denn, __equal__ überschrieben. –