gpt4 book ai didi

python - 将对象的实例声明为 'global' 内的 '__init__'

转载 作者:行者123 更新时间:2023-11-30 23:10:19 26 4
gpt4 key购买 nike

我正在维护一个用 Python 编写的应用程序,并遇到了这样的情况:

class A():

def __init__(self):
...
global a
a = self

...

有人可以详细解释一下这里发生了什么以及声明 self 为全局的目的是什么吗?

最佳答案

这两行

global a
a = self

创建一个名为a的全局变量来引用当前正在调用其__init__方法的任何对象。本质上,应用程序似乎在跟踪最近实例化的 A 实例。它应该像这样工作:

>>> o1 = A()
>>> a is o1 # o1 was most recently instantiated
True
>>> o2 = A()
>>> a is o1 # o1 is no longer the most recently instantiated ...
False
>>> a is o2 # ... o2 is
True

关于python - 将对象的实例声明为 'global' 内的 '__init__',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30743756/

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