删除变量(如果存在)的正确方法

use*_*745 2 python variables tkinter

我尝试做:

def create_l():
    if 'l' in globals():
        l.destroy()
    l = Listbox(root)
Run Code Online (Sandbox Code Playgroud)

这工作正常,但它返回一个语法警告:

Warning (from warnings module):
  File "C:\Users\User\Desktop\l.py", line 4
    l = Listbox(root)
SyntaxWarning: name 'l' is used prior to global declaration
Run Code Online (Sandbox Code Playgroud)

我只是想知道是否有办法在没有语法警告的情况下做到这一点。

Spl*_*xyy 10

使用del关键字

if 'l' in globals():
    del l
Run Code Online (Sandbox Code Playgroud)

  • 请原谅我说,但问题是:`如果变量存在,删除变量的正确方法`。我指定的答案是“删除存在变量的正确方法” (5认同)
  • 我是根据问题标题来到这里的,这回答了我的问题。所以这个答案对我有帮助。 (5认同)
  • 我能解释一下为什么这个被删除了吗?我不明白这有什么问题。 (3认同)
  • @Splinxyy 我的建议是不要试图对糟糕的问题给出好的答案,这可能会适得其反。 (3认同)