代码之家  ›  专栏  ›  技术社区  ›  Drudox lebowsky

使函数变量成为静态变量的python方法

  •  1
  • Drudox lebowsky  · 技术社区  · 7 年前

    我必须创造一个 @staticmethod 在教室里..我知道是否有任何方法可以在两个顺序调用之间“保存”静态方法中定义的变量。

    我是指C++中的静态变量

    1 回复  |  直到 7 年前
        1
  •  4
  •   Jonathan DEKHTIAR    7 年前

    当然,正如您所指出的,您应该创建一个静态(或类)变量。

    class Example:
        name = "Example"  #  usually called a class-variable
    
        @staticmethod
        def static(newName=None):
            if newName is not None:
                Example.name = newName
    
            print ("%s static() called" % Example.name)
    
    
    
        @classmethod
        def cls_static(cls, newName=None):
            if newName is not None:
                cls.name = newName
    
            print ("%s static() called" % cls.name)
    
    Example.static()
    Example.static("john")
    
    Example.cls_static()
    Example.cls_static("bob")
    

    根据您的偏好,您可以使用其中一个或另一个。我让您阅读此链接以获取更多信息: http://radek.io/2011/07/21/static-variables-and-methods-in-python/