是否可以重写这行python代码,这样我只需要输入一次变量名

问题描述 投票:0回答:0

我有一行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()

打印语句不被执行。我不知道为什么...

python namespaces local
© www.soinside.com 2019 - 2024. All rights reserved.