2024-04-18 10:42:31 发布
网友
有没有理由将list.append评估为false?或者只是成功时返回0的C约定发挥作用?
list.append
>>> u = [] >>> not u.append(6) True
None的计算结果为False,在python中,假定不返回任何内容的函数已返回None。
None
False
如果您键入:
>> print u.append(6) None
塔达姆:)
大多数对容器进行就地变异的Python方法返回None——这是Command-query separation原则的应用。(Python在处理事情时总是相当务实,所以当得到一个有用的值时,一些变异器确实会返回一个有用的值,否则代价会很高或是一团糟,pop方法就是这种务实主义的一个很好的例子——但这些绝对是例外,而不是规则,没有理由让append成为例外)。
pop
append
因为.append方法返回None,因此not None的计算结果为True。Python on error通常会引发错误:
.append
not None
True
>>> 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'
None
的计算结果为False
,在python中,假定不返回任何内容的函数已返回None
。如果您键入:
塔达姆:)
大多数对容器进行就地变异的Python方法返回
None
——这是Command-query separation原则的应用。(Python在处理事情时总是相当务实,所以当得到一个有用的值时,一些变异器确实会返回一个有用的值,否则代价会很高或是一团糟,pop
方法就是这种务实主义的一个很好的例子——但这些绝对是例外,而不是规则,没有理由让append
成为例外)。因为
.append
方法返回None
,因此not None
的计算结果为True
。Python on error通常会引发错误:相关问题 更多 >
编程相关推荐