Подтвердить что ты не робот

Переопределение оператора "boolean" в python?

Я использую класс, который наследуется от списка как структура данных:

class CItem( list ) :
  pass
oItem = CItem()
oItem.m_something = 10
oItem += [ 1, 2, 3 ]

Все идеально, но если я использую свой объект моего класса внутри "if", python оценивает его как False, если в нем нет элементов. Поскольку мой класс - это не просто список, я действительно хочу, чтобы он оценивал False только в том случае, если он None, и оценивает значение True иначе:

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?"
4b9b3361