猿问

为什么list.append在布尔上下文中计算为false?

为什么list.append在布尔上下文中计算为false?

有什么理由list.append对错误的评估?还是仅仅是在成功的情况下返回0的C约定起作用了?


>>> u = []

>>> not u.append(6)

True


一只名叫tom的猫
浏览 608回答 4
4回答

拉莫斯之舞

大多数改变容器原样的Python方法都会返回。None-适用命令查询分离..(Python在某些方面总是相当务实的,所以当得到它时,一些变异器确实会返回一个可用的值,否则代价会很高,或者会变得一团糟pop方法是这种实用主义的一个很好的例子-但这绝对是例外,而不是规则,没有理由去做。append例外情况)。

慕桂英546537

None评估为False在python中,不返回任何内容的函数被假定已返回。None.如果您键入:>> print u.append(6)None(Tadaaam:)

缥缈止盈

因为.append方法返回None因此,not None评估为True..错误上的Python通常会引发错误:>>> a = ()>>> a.append(5)Traceback (most recent call last):&nbsp; File "<pyshell#1>", line 1, in <module>&nbsp; &nbsp; a.append(5)AttributeError: 'tuple' object has no attribute 'append'

慕桂英3389331

它修改了当前的列表,并返回None.&nbsp;None计算为假。
随时随地看视频慕课网APP

相关分类

Python
我要回答