def _get_property_func(obj, key):
    """
    Try to get property helper functions of given object and property name.

    :param obj: object to be checked for property
    :param key: property name
    :return: a tuple for helper functions(fget, fset, fdel). If no such property, a (None, None, None) returns
    """
    obj_type = type(obj)

    if not hasattr(obj_type, key):
        return None, None, None
    attr = getattr(obj_type, key)
    return attr.fget, attr.fset, attr.fdel

    Try to get property helper functions of given object and property name.

    :param obj: object to be checked for property
    :param key: property name
    :return: a tuple for helper functions(fget, fset, fdel). If no such property, a (None, None, None) returns
    
box/box.py