我有一个全局变量 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
关于python - 如何从函数内部删除全局变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47717277/