22
Я использую класс, который наследуется из списка в качестве структуры данных:Переопределение оператора «boolean» в python?
class CItem(list) :
pass
oItem = CItem()
oItem.m_something = 10
oItem += [ 1, 2, 3 ]
Все идеально, но если я использую мой объект моего класса внутри от «если», питон оценивает его значение False если в базовом списке нет элементов. Так как мой класс не просто список, я действительно хочу, чтобы оценить значение False, только если это не касается, и оценить Истина иначе:
a = None
if a :
print "this is not called, as expected"
a = CItem()
if a :
print "and this is not called too, since CItem is empty list. How to fix it?"
+1 поскольку вы, кажется, открываете себе еще один замечательный жемчуг Python :) –