繁体   English   中英

为什么list_a = list_a.append(1)会产生NoneType而不是通过Error?

[英]Why list_a = list_a.append(1) will produce a NoneType instead of through an Error?

如果这会弹出一个错误,例如python newbee,我将不需要花整整一个小时的时间来找出我的错误!

所以我想问一下这种机制的考虑和好处是什么?

append()是列表上的一种方法,它仅将一个项目添加到列表的末尾,但不返回任何内容。 换句话说,它修改“就地”列表:

>>> l = [1,2,3]
>>> type(l)
<type 'list'>
>>> l = l.append(4)
>>> print l
None
>>> type(l)
<type 'NoneType'>

而且,由于NoneType实际上是有效且完全正常的变量类型 ,因此l变为None而没有任何错误-只需将其视为l = None

希望能有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM