[英]Python API connection in global variable - assignment doesn't work
api_connection = None
def get_connection():
global api_connection
if api_connection is None:
api_connection = APIConnection(SERVER)
return api_connection
else:
return api_connection
我正在尝试将我的 API 连接实例存储在全局变量中以供以后重用。 要访问或实例化它,我使用上面的 function。 不幸的是,调用 function 后 api_connection 变量没有改变。 我究竟做错了什么?
编辑:这让我更加困惑
>>> c = get_connection()
>>> c == get_connection()
True
>>> c is get_connection()
True
>>> c is api_connection
False
>>> api_connection
>>> api_connection is None
True
这个对我有用。 我将您的代码修改如下以进行可视化:
>>> api_connection = None
>>>
>>>
>>> def get_connection():
... global api_connection
... if api_connection is None:
... api_connection = 10
... return api_connection
... else:
... return api_connection
...
>>> print(api_connection)
None
>>> get_connection()
10
>>> print(api_connection)
10
我认为这个方法APIConnection(SERVER)
也返回 None 。 这就是为什么您没有看到变量变化的原因。 你能检查出这个方法吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.