<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def format(self, s, pretty=None, expand=None):
 """Format a string. Args: s (str):
 String to format, eg "hello {name}" pretty (bool):
 If True, references to non-string attributes such as lists are converted to basic form, with characters such as brackets and parenthesis removed. If None, defaults to the object's 'format_pretty' attribute. expand (`StringFormatType`):
 Expansion mode. If None, will default to the object's 'format_expand' attribute. Returns: The formatting string. """

        if pretty is None:
            pretty = self.format_pretty
        if expand is None:
            expand = self.format_expand

        formatter = ObjectStringFormatter(self, pretty=pretty, expand=expand)
        return formatter.format(s)