【问题标题】:Can we create local environments without the use of functions in Python?我们可以在不使用 Python 函数的情况下创建本地环境吗?
【发布时间】:2021-08-14 17:37:51
【问题描述】:

函数执行完成后,函数内部的变量将被删除

但是我们可以不使用函数来创建这样的本地环境吗?

这样,不必要的变量可以在使用结束时轻松删除

编辑:我说的是类似于 with 语句的语法

比如下面的代码,我想在退出with语句后删除变量line

with open("Text.txt") as f:
    line = f.readline()
    if line == "":
        break
    else:
        print(line)

【问题讨论】:

  • 只需使用del...
  • 程序中不再提及变量后,Python 正在使用引用计数来释放内存
  • 为什么你甚至想避免在这里使用函数?你认为他们可能有什么缺点?
  • 您似乎正在寻找一种避免结构化编程的方法。 60 多年来,我们已经知道将代码组织成函数会产生更好的程序。
  • 那有什么意义呢?变量只是名称。

标签: python environment-variables


【解决方案1】:

如果您想封装数据以便于删除但又不想使用函数,则可以使用另一个容器,例如 dict 或类实例。除非您真的需要摆脱资源,否则您不会为此烦恼。这些例子不是那样的。

字典:

data = {}
data["foo"] = 1
data["bar"] = 2
data["baz"] = 3
print(data["foo"] + data["bar"] + data["baz"])
del data

类:

class MyStruct:
    pass

data = MyStruct()
data.foo = 1
data.bar = 2
data.baz = 3
print(data.foo + data.bar + data.baz)
del data

【讨论】:

    猜你喜欢
    • 2012-10-27
    • 2017-11-11
    • 2013-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多