(cls)
return [(func, getattr(cls, func)) for func in dir(cls)
            if not callable(getattr(cls, func)) and not func.startswith('_')]
Returns the list of class attributes, accessible by both names and as objects.

    Function ignores internal attributes starting with ``_``.

    :param cls: The class object
    :return: List of class attributes, each item is the tuple ``(attribute_name, attribute_object)``
Returns the list of class attributes, accessible by both names and as objects.
Returns the list of class attributes accessible by both names and as objects .
def get_class_attributes(cls):
    """
    Returns the list of class attributes, accessible by both names and as objects.

    Function ignores internal attributes starting with ``_``.

    :param cls: The class object
    :return: List of class attributes, each item is the tuple ``(attribute_name, attribute_object)``
    """
    return [(func, getattr(cls, func)) for func in dir(cls)
            if not callable(getattr(cls, func)) and not func.startswith('_')]
def get_class_attributes ( cls ) : return [ ( func , getattr ( cls , func ) ) for func in dir ( cls ) if not callable ( getattr ( cls , func ) ) and not func . startswith ( '_' ) ]