如何从函数内部删除全局变量?
问题内容:
我有一个全局变量ser
,在某些情况下需要删除:
global ser
ser = ['some', 'stuff']
def reset_ser():
print('deleting serial configuration...')
del ser
如果我打电话,reset_ser()
我得到了错误:
UnboundLocalError: local variable 'ser' referenced before assignment
如果我将全局变量作为输入提供给函数,则不会收到错误,但不会删除该变量(我猜只是在函数本身内部)。有没有一种删除变量的方法,或者我是否必须覆盖它以摆脱其内容?
问题答案:
只需global ser
在函数内部使用:
ser = "foo"
def reset_ser():
global ser
del ser
print(ser)
reset_ser()
print(ser)
输出:
foo
Traceback (most recent call last):
File "test.py", line 8, in <module>
print(ser)
NameError: name 'ser' is not defined