了解使用Python后的结果';s clear()方法
我不明白下面代码的结果。为什么结果了解使用Python后的结果';s clear()方法,python,python-3.x,Python,Python 3.x,我不明白下面代码的结果。为什么结果无 m = {(1,2):1.0, (5,4):0.5, (3,4):0.75} print(m.clear()) result: **None** 但如果我写的是 m.clear() print(m) result : **{}** 我还有其他结果。您正在打印m.clear()的返回值,它返回无。它返回None,因为.clear()方法在适当的位置清除字典 按照惯例,任何在默认Python类型上改变可变结构的方法都会返回None。例
无
m = {(1,2):1.0, (5,4):0.5, (3,4):0.75}
print(m.clear())
result: **None**
但如果我写的是
m.clear()
print(m)
result : **{}**
我还有其他结果。您正在打印
m.clear()
的返回值,它返回无
。它返回None
,因为.clear()
方法在适当的位置清除字典
按照惯例,任何在默认Python类型上改变可变结构的方法都会返回None
。例如,这同样适用于list.sort()
或set.add()
您的第二个示例没有打印
m.clear()
的返回值。在您清除空字典后,它将打印它。您正在打印m.clear()
的返回值,该值返回None
。它返回None
,因为.clear()
方法在适当的位置清除字典
按照惯例,任何在默认Python类型上改变可变结构的方法都会返回None
。例如,这同样适用于list.sort()
或set.add()
您的第二个示例没有打印m.clear()
的返回值。清除空字典后,它将打印它。print(m.clear())
打印调用m.clear()
返回的值print m
打印对象m
;很明显,这是两种完全不同的东西,因此它们产生不同的输出也就不足为奇了
对于字典类型,只表示clear
:
从字典中删除所有项
它就是这样做的。它没有被记录为返回任何内容,而所有确实返回某些内容的方法的所有文档都明确说明了它们返回的内容(通常更改集合的方法只返回None
)。因此,没有理由期望它返回任何内容。print(m.clear())
打印调用m.clear()返回的值print m
打印对象m
;很明显,这是两种完全不同的东西,因此它们产生不同的输出也就不足为奇了
对于字典类型,只表示clear
:
从字典中删除所有项
它就是这样做的。它没有被记录为返回任何内容,而所有确实返回某些内容的方法的所有文档都明确说明了它们返回的内容(通常更改集合的方法只返回None
)。所以没有理由期望它会返回任何东西