为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

一只名叫tom的猫 2019-06-01 14:41:21
为什么list.append在布尔上下文中计算为false?有什么理由list.append对错误的评估?还是仅仅是在成功的情况下返回0的C约定起作用了?>>> u = []>>> not u.append(6)True
查看完整描述

4 回答

?
拉莫斯之舞

TA贡献1820条经验 获得超10个赞

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

查看完整回答
反对 回复 2019-06-01
?
慕桂英546537

TA贡献1848条经验 获得超10个赞

None评估为False在python中,不返回任何内容的函数被假定已返回。None.

如果您键入:

>> print u.append(6)None

(Tadaaam:)


查看完整回答
反对 回复 2019-06-01
?
缥缈止盈

TA贡献2041条经验 获得超4个赞

因为.append方法返回None因此,not None评估为True..错误上的Python通常会引发错误:


>>> a = ()

>>> a.append(5)

Traceback (most recent call last):

  File "<pyshell#1>", line 1, in <module>

    a.append(5)

AttributeError: 'tuple' object has no attribute 'append'


查看完整回答
反对 回复 2019-06-01
?
慕桂英3389331

TA贡献2036条经验 获得超8个赞

它修改了当前的列表,并返回NoneNone计算为假。


查看完整回答
反对 回复 2019-06-01
  • 4 回答
  • 0 关注
  • 607 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信