def _docstring(self):
        default = "``default={}``".format(repr(self.default))

        values = (
            ", ``values={}``".format(repr(self.values))
            if self.values is not None
            else ""
        )

        on_change = (
            ", ``on_change={}``".format(self.on_change.__name__)
            if self.on_change is not None
            else ""
        )

        return "{}{}{}\n{}".format(default, values, on_change, self.doc or "")