gpt4 book ai didi

python - 未声明的对象何时获得 ID?

转载 作者:太空宇宙 更新时间:2023-11-04 10:51:00 26 4
gpt4 key购买 nike

理论题

每个 Python shell 都有无需声明或创建即可使用的对象,例如 True、False、""、[]、{} 以及整数和 float 的任意组合。

这意味着您可以随时获取他们的 ID。

id(1)
id(42)
id('')

等等

当然,如果你试图获取一个未声明对象的id,你会得到:

id(myobject1)

Traceback (most recent call last):
File "<pyshell#29>", line 1, in <module>
id(myobject1)
NameError: name 'myobject1' is not defined

因为 myobject1 没有指向任何东西,所以它没有定义,也没有 id。

然而,由于数字系统是无限的,因此可以在不声明的情况下使用无限多的对象。因此,所有未声明的对象在以某种身份在程序中使用之前都不可能具有 ID。

这些对象何时获得分配的 ID?

最佳答案

你误解了赋值的概念。

在赋值中,您将一个对象绑定(bind)到一个名称。分配给的所有名称都可以以任何需要的方式使用,未分配的名称不存在,因此不能指向任何东西(包括“无处”)。

使用 id(spam),您可以询问 spam 指向的对象,然后询问其 ID。

一个不存在的名称 spam 没有分配给它可以查询其 ID 的对象。

OTOH,每个对象都有一个 ID。

关于python - 未声明的对象何时获得 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13863293/

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