我有一行Python代码,可以完全清除局部变量、全局变量和字典中的变量。这行是(这在我的代码中非常重要):
with suppress(Exception): try_delscp(['obj_to_delete'],globals(),dict_loc_vars_trsnfer); del obj_to_delete;
但是请注意,我们需要复制粘贴变量名称
obj_to_delete
两次。
有没有办法让 obj_to_delete
在一行中只出现一次? (出于代码分解的目的......,有时我可能只复制粘贴一次,这也使得这行代码容易出错)
基本上我想声明:
del2 obj_to_delete
如
with suppress(Exception): try_delscp(['obj_to_delete'],globals(),dict_loc_vars_trsnfer); del obj_to_delete;
但我不确定这是否可能。谢谢!
尝试:
我尝试过(JonSG 建议):
def test_idea005():
a = 1
exec(f'del {a}')
print("'a' in locals():",'a' in locals())
拨打电话后
test_idea005()
打印语句不被执行。我不知道为什么...