擅长:python、mysql、java
<p>不能在方法中自发地创建全局变量,正如不能在函数中自发地创建它们一样。否则,您将无法在静态方法中使用<em>局部</em>变量而不污染全局名称空间。你知道吗</p>
<p>除了Pynchia的解决方案之外,还可以在类外声明一个全局变量,并用<code>global</code>显式引用它:</p>
<pre><code>THEBIGONE = None
class a:
@staticmethod
def ok(abc):
global THEBIGONE
THEBIGONE = abc
</code></pre>
<p>或者您可能希望使用classmethod使其成为类的成员:</p>
<pre><code>class a:
@classmethod
def ok(cls, abc):
cls.THEBIGONE = abc
</code></pre>
<p>类方法通常比静态方法更有用,因此请考虑这是否是解决实际问题的更好方法。你知道吗</p>