文本内容如下:
在Python中,有一个名为None的值,表示没有值。 None是NoneType数据类型的唯一值。 (其他编程语言可能将此值称为null,nil或undefined。)就像布尔值True和False一样,None必须以大写N键入。
当您需要将不会与真实值混淆的某些内容存储在变量中时,此无值值会很有用。使用None的一个地方是print()的返回值。 print()函数在屏幕上显示文本,但是不需要像len()或input()一样返回任何内容。但是由于所有函数调用都需要求值返回值,因此print()返回None。要查看实际效果,请在交互式外壳程序中输入以下内容:
>>> spam = print('Hello!')
Hello!
>>> None == spam
True
在后台,Python在没有return语句的任何函数定义的末尾添加return None。这类似于while或for循环隐式以continue语句结束的方式。另外,如果您使用没有值的return语句(即,仅是return关键字本身),则将返回None。
我想我理解None是什么,但是我不理解代码。为什么spam
等于None
时被分配为print('Hello!')
?在分配后立即在交互式外壳程序中输入spam
时,它不会返回任何内容。我感觉是因为调用Hello!
并返回一个值时,参数print()
立即被忘记了,但是如果我将spam
定义为print()
函数,传递的参数Hello!
是否应该不总是返回Hello!
?
答案 0 :(得分:1)
要添加到注释中并使其更清晰,请在屏幕上打印 print()
'Hello!'
函数并返回 None
到程序。打印和返回不是一回事-打印是针对用户的,返回是针对程序的。打印仅显示在屏幕上,并且(通常)无法被程序进一步使用。返回的值可以存储在变量中,例如spam
,并进一步使用。
打印和返回之间的区别非常重要,以至于Python标准是:如果函数打印某些内容,则它不应返回None
以外的任何值;如果函数返回某个值,则其不应打印任何内容。该标准没有被其他许多语言(最著名的是C)所遵循,并且在Python中并未得到一致遵循,但是这种区别确实有助于Python的清晰度。如果您想进一步研究这个概念,请在编程中搜索“副作用”。
答案 1 :(得分:-1)
您正在将print()
分配给None
函数,该函数不会返回任何内容,也就是List<NestedProp>