colour.utilities.multiline_str#
- colour.utilities.multiline_str(object_: Any, attributes: List[dict], header_underline: str = '=', section_underline: str = '-', separator: str = ' : ') str [source]#
Return a formatted string representation of the given object.
- Parameters:
- Returns:
Formatted string representation.
- Return type:
Examples
>>> class Data: ... def __init__(self, a: str, b: int, c: list): ... self._a = a ... self._b = b ... self._c = c ... ... def __str__(self) -> str: ... return multiline_str( ... self, ... [ ... { ... "formatter": lambda x: ( ... f"Object - {self.__class__.__name__}" ... ), ... "header": True, ... }, ... {"line_break": True}, ... {"label": "Data", "section": True}, ... {"line_break": True}, ... {"label": "String", "section": True}, ... {"name": "_a", "label": 'String "a"'}, ... {"line_break": True}, ... {"label": "Integer", "section": True}, ... {"name": "_b", "label": 'Integer "b"'}, ... {"line_break": True}, ... {"label": "List", "section": True}, ... { ... "name": "_c", ... "label": 'List "c"', ... "formatter": lambda x: "; ".join(x), ... }, ... ], ... ) >>> print(Data("Foo", 1, ["John", "Doe"])) Object - Data ============= Data ---- String ------ String "a" : Foo Integer ------- Integer "b" : 1 List ---- List "c" : John; Doe