我可以这样检查Python的列表或字典是否为空:
lis1, dict1 = [], {}
# similar thing can be done for dict1
if lis1:
# Do stuff
else:
print "List is empty"
如果我尝试使用我的类对象进行此操作,即通过输入if my_object:
检查我的对象属性是否非空,则始终评估为True
>>> class my_class(object):
... def __init__(self):
... self.lis1 = []
... self.dict1 = {}
...
>>> obj1 = my_class()
>>> obj1
<__main__.my_class object at 0x10c793250>
>>> if obj1:
... print "yes"
...
yes
我可以编写一个函数,专门检查我的对象属性是否非空,然后调用 if obj1.is_attributes_empty():
,但我更想知道 if
如何评估像 list
和 dict
这样的 标准数据类型
,以根据它们包含的项目或为空来将其转换为 True
或 False
。
如果我想要在我的类对象中实现这个功能,我需要重写哪些方法或进行哪些更改?
if obj1.lis1: print "yes"
- rurp