从类属性调用类的静态方法

时间:2017-05-25 08:40:17

标签: python oop

我正在尝试创建一个包含引用类的静态方法的字符串的字典类属性:

class Foo:

    references = {
        'string a' : Foo.function_a,
        'string b' : Foo.function_b
    }

    @staticmethod
    def function_a():
        return 0

    @staticmethod
    def function_b():
        return 1

在课堂上对Foo的调用尚未解决:

NameError: name 'Foo' is not defined

有没有优雅的方法来创建引用类的静态方法的类属性?

1 个答案:

答案 0 :(得分:4)

静态方法不是问题,问题是您正在尝试引用尚未定义的方法和类。这有效:

RTRIM

class Foo: @staticmethod def function_a(): return 0 @staticmethod def function_b(): return 1 references = { 'string a' : function_a, 'string b' : function_b } 定义是它自己的命名空间,你可以将函数称为class而不是function_a,你需要在之后已定义。