Reports cases when properties are accessed inappropriately:

Example:


class MyClass:
    @property
    def read_only(self): return None

    def __write_only_setter(self, value): pass

    write_only = property(None, __write_only_setter)


a = MyClass()
a.read_only = 10 # property cannot be set
del a.read_only # property cannot be deleted
print(a.write_only) # property cannot be read