Returns all methods belonging to an object instance specified in by the
    __dir__ function

    Example:
        >>> # DISABLE_DOCTEST
        >>> from utool.util_inspect import *  # NOQA
        >>> import utool as ut
        >>> obj = ut.NiceRepr()
        >>> methods1 = ut.get_object_methods()
        >>> ut.inject_func_as_method(obj, ut.get_object_methods)
        >>> methods2 = ut.get_object_methods()
        >>> assert ut.get_object_methods in methods2

def get_object_methods(obj):
    """
    Returns all methods belonging to an object instance specified in by the
    __dir__ function

    Example:
        >>> # DISABLE_DOCTEST
        >>> from utool.util_inspect import *  # NOQA
        >>> import utool as ut
        >>> obj = ut.NiceRepr()
        >>> methods1 = ut.get_object_methods()
        >>> ut.inject_func_as_method(obj, ut.get_object_methods)
        >>> methods2 = ut.get_object_methods()
        >>> assert ut.get_object_methods in methods2
    """
    import utool as ut
    attr_list = (getattr(obj, attrname) for attrname in dir(obj))
    methods = [attr for attr in attr_list if ut.is_method(attr)]
    return methods