【问题标题】:How to define globals? [duplicate]如何定义全局变量? [复制]
【发布时间】:2015-10-10 01:45:00
【问题描述】:

如何使以下内容保持不变和真实? (换句话说,全局变量?)

  UP    ::  Direction
DOWN    ::  Direction
LEFT    ::  Direction
RIGHT   ::  Direction
dirs =  [UP,    DOWN,   LEFT,   RIGHT]

我的尝试:

#global definitions
UP = True
DOWN = True
LEFT = True
RIGHT = True
dirs = [UP, DOWN, LEFT, RIGHT]

【问题讨论】:

  • 这有什么问题?只是永远不要重新分配它们。
  • "constant and true" 不一定与 "globals" 相同 - 你可以(但通常不应该)拥有 global变量,并且绝对可以具有局部“常量”。但是,Python 并没有真正的常量,所有名称都可以重新分配。你到底想做什么

标签: python boolean constants global definition


【解决方案1】:

在 Python 中没有真正的常量。您可以做的最接近的事情是创建一个变量并且永远不要重新分配它。您的尝试看起来可以正常工作。

需要注意的一点是,“恒定和真实”并不意味着“全局”。全局变量的显着特征与恒定性无关,而是对象可以被引用的范围(即全部)。您可以拥有非常量的全局变量(当然,在允许常量的语言中)和非全局的常量变量。

【讨论】:

    【解决方案2】:

    我真的不知道你试图实现什么,以及你想要保护“常量”的值,但一种可能的解决方案是创建一个 numpy memmap 数组,为其分配一个值并“打开”它再次只读。

    【讨论】:

      猜你喜欢
      • 2016-09-16
      • 2015-08-08
      • 2011-08-20
      • 1970-01-01
      • 1970-01-01
      • 2011-09-16
      • 1970-01-01
      相关资源
      最近更新 更多