valores sino operadores operaciones logicas exclusivo declarar booleanos booleanas binarios binarias python

python - sino - valores booleanos y operaciones logicas



¿Anulando el operador ''a booleano'' en python? (1)

Estoy usando una clase que se hereda de la lista como una estructura de datos:

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

Todo es perfecto, pero si uso mi objeto de mi clase dentro de un ''si'', python lo evalúa como Falso si la lista no tiene elementos subyacentes. Como mi clase no es solo una lista, realmente quiero evaluar Falso solo si es Ninguno, y evaluar a Verdadero de lo contrario:

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