Van*_*Ice 3 python loops list while-loop
对于False在空列表中评估的while循环,会发生什么过程?
False
例如:
a=[1, 2, 3] while a: a.pop()
本质上,我想知道while-loop正在检查列表对象的哪个方法或属性,以便决定是否终止.
while
Mad*_*ist 6
循环和条件隐含地用于bool所有条件.该过程在文档的"真值测试"部分中明确记录.对于像列表这样的序列,这通常最终是对__len__方法的检查.
bool
__len__
bool这样工作:首先它尝试__bool__方法.如果__bool__未实现,则检查是否__len__为非零,如果不可能,则返回True.
__bool__
True
与所有魔术方法查找一样,Python只会查看类,而不是实例(请参阅特殊方法查找).如果您的问题是关于如何更改行为,则需要子类化.将单个替换方法分配给实例字典根本不起作用.
归档时间:
7 年,2 月 前
查看次数:
450 次
最近记录: