python - 如何从函数内部删除全局变量?

标签 python python-3.x

我有一个全局变量 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/

相关文章:

python - 在字符串内打印单引号

python - PyCharm:如何记录:类型:返回生成器的函数

python - Jinja2 内联注释

python - 如何在 django 中设置该字段唯一?

python - 理解链式 for 语句

python - 如何仅加载 google colab 上的特定文件夹?

python - 在 PyQt 应用程序上使用 cx_freeze 时出现语法错误

python - Django:设置为 permanent=True 后停止将 URL 重定向到另一个页面

python-3.x - 使用requirements.txt和Heroku时找不到pickle的匹配发行版

python - 如何比较 2 个不同的 csv 文件并在没有 CSV-diff 的情况下输出差异