Static class property pointing to special instance of the same class in Python -
coming cpp/c#, how 1 refer same class in class body in python:
class foo(object): answer = foo(42) fail = foo(-1) def __init__(self, value): self._v = value when try use code, "name 'foo' not defined" exception in line trying instantiate answer instance.
the name foo not set until full class body has been executed. way can want add attributes class after class statement has completed:
class foo(object): def __init__(self, value): self._v = value foo.answer = foo(42) foo.fail = foo(-1) it sounds re-inventing python's enum module; lets define class constants instances of class:
enum import enum class foo(enum): answer = 42 fail = -1 after class statement has run, foo.answer instance of foo .value attribute set 42.
Comments
Post a Comment