【问题标题】:Declare variable as global inside block __name__ == "__main__" [duplicate]在块__name__ ==“__main__”中将变量声明为全局[重复]
【发布时间】:2020-10-12 20:25:24
【问题描述】:

块内

if __name__ == "__main__":

是否需要将变量声明为全局变量才能设置其值?
或者......这个块不是一个函数,因此我不需要这样做吗?

我猜后者是正确的,但我想仔细检查并确保我更好地理解这一点。

【问题讨论】:

  • 这不是一个函数。请阅读minimal reproducible example 以创建更清晰的问题。
  • if __name__ == "__main__": 没有什么特别之处,就范围而言,它与if 构造相同。它绝对不是函数
  • if 块没有自己的上下文。不管它的用途是什么。

标签: python python-3.x


【解决方案1】:

你只需要声明变量,global关键字只在函数中有意义。

【讨论】:

  • 在全局范围内声明,在所有函数体之外。
【解决方案2】:
if __name__ == "__main__"

这个 if 语句没有自己的上下文,因此可以修改变量而不需要 global 关键字。

【讨论】:

    猜你喜欢
    • 2023-02-05
    • 2014-01-21
    • 1970-01-01
    • 1970-01-01
    • 2015-07-25
    • 2011-11-25
    • 1970-01-01
    • 2017-05-13
    • 1970-01-01
    相关资源
    最近更新 更多