使用异步函数时,我可以访问函数外部的变量。
outside_variable = 'some message'
async def printing():
print(outside_variable)
await printing()
但是,如果我在函数中的任何时候都将外部变量分配给新值,则程序现在认为该变量仅在函数中本地化,并且如果该分配是在使用变量之后进行的,则会引发错误。
outside_variable = 'some message'
async def printing():
print(outside_variable) # <- Using variable 'outside_variable' before assignment pylint(used-before-assignment)
outside_variable = 'a new message'
await printing()
如何在不更改变量本地化的情况下为外部变量分配新值?我想在没有返回功能的情况下做到这一点。
在函数内部修改外部值时,必须记住将全局变量告知解释器。global variable_name
在函数内部使用。这样,您可以在知道变量范围正确的情况下修改和/或访问其内容。
async def printing():
global outside_variable
//Do stuff
此外,请记住,在异步上下文中工作时,应确保以不会丢失数据的方式进行写入/读取。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句