gpt4 book ai didi

python - `type` 的第一个参数有什么作用?

转载 作者:行者123 更新时间:2023-12-01 06:18:35 25 4
gpt4 key购买 nike

一些代码。

In [1]: A = type('B', (), {})

In [2]: a = A()

In [3]: b = B()
---------------------------------------------------------------------------
NameError Traceback (most recent call last)

/home/shabda/<ipython console> in <module>()

NameError: name 'B' is not defined

type 的第一个参数在这里做什么?

最佳答案

它正在设置创建的类的 __name__ 属性。

当你说:

class B(object):

“B”发生了两件事:

  • 名称“B”被分配给该类。这就像您说“B = ...”一样。

  • 该类的 __name__ 属性设置为“B”。

当您手动调用类型构造函数时,仅完成后半部分。如果您不将结果分配给“B”,则 B 将像以前一样保持设置(或未设置)。

请注意,通过以下方式可以获得类似的结果:

class B(object):
pass
A = B
del B

现在 A 引用了一个自称为“B”的类,而 B 没有引用任何东西。

关于python - `type` 的第一个参数有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1865250/

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