Equivalent of NotImplementedError for fields in Python
Solution 1:
Yes, you can. Use the @property
decorator. For instance, if you have a field called "example" then can't you do something like this:
class Base(object):
@property
def example(self):
raise NotImplementedError("Subclasses should implement this!")
Running the following produces a NotImplementedError
just like you want.
b = Base()
print b.example
Solution 2:
Alternate answer:
@property
def NotImplementedField(self):
raise NotImplementedError
class a(object):
x = NotImplementedField
class b(a):
# x = 5
pass
b().x
a().x
This is like Evan's, but concise and cheap--you'll only get a single instance of NotImplementedField.