gpt4 book ai didi

python - 什么是无值?

转载 作者:IT老高 更新时间:2023-10-28 21:05:49 25 4
gpt4 key购买 nike

我一直在学习 Python,我读过一章描述 None 值,但不幸的是这本书在某些方面不是很清楚。我想如果我在那里分享我的问题,我会找到答案。

我想知道None的值是什么,你用它做什么?

而且,我不明白这本书的这一部分:

Assigning a value of None to a variable is one way to reset it to its original, empty state.

这是什么意思?

答案很棒,尽管由于我对计算机世界的了解不足(我还没有了解类、对象等),我并没有理解大多数答案。这句话是什么意思?

Assigning a value of None to a variable is one way to reset it to its original, empty state.

决赛:

最后,我通过寻找不同的答案得到了答案。我必须感谢所有花时间帮助我的人(尤其是 Martijn Pieters 和 DSM),我希望我可以选择所有答案作为最佳答案,但选择仅限于一个。所有的答案都很棒。

最佳答案

Martijn 的回答解释了 None是在 Python 中,并且正确地指出这本书具有误导性。因为Python程序员通常不会说

Assigning a value of None to a variable is one way to reset it to its original, empty state.

很难以一种有意义的方式解释布里格斯的意思,并解释为什么这里似乎没有人对此感到满意。一个可能有帮助的类比:

在 Python 中,变量名就像贴在对象上的贴纸。每个贴纸上都写有唯一的名称,一次只能在一个对象上,但如果您愿意,您可以在同一个对象上放置多个贴纸。当你写

F = "fork"

您将标签“F”放在字符串对象上 "fork" .如果你再写

F = None

您将贴纸移至 None对象。

Briggs 要求你想象的是,你没有贴纸 "F"已经有一个 F None 上的贴纸,而您所做的只是移动它,来自 None"fork" .所以当你输入 F = None ,如果我们决定处理 None,则您正在“将其重置为原始的空状态”。作为含义empty state .

我可以看出他在说什么,但这是一个不好的看法。如果你启动 Python 并输入 print(F) ,你看

>>> print(F)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'F' is not defined

还有 NameError表示 Python 无法识别名称 F , 因为没有这样的贴纸。如果布里格斯是对的并且F = None重置 F到它原来的状态,那么它现在应该在那里,我们应该看到

>>> print(F)
None

就像我们在输入 F = None 后所做的那样并将贴纸贴在 None 上.


所以这就是正在发生的一切。实际上,Python 附带了一些已经附加到对象(内置名称)的标签,但其他的你必须自己写成行,如 F = "fork"。和 A = 2c17 = 3.14 ,然后您可以稍后将它们粘贴到其他对象上(例如 F = 10F = None ;都是一样的。)

Briggs 是在假装你可能想写的所有贴纸都已经贴在 None 上。对象。

关于python - 什么是无值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19473185/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com