def __repr__(self): return type(self).__name__ + "(" + ", ".join( _maybe_parenthesise(p) for p in self.parts) + ")"
def __str__(self): return " * ".join(_maybe_parenthesise(p) for p in self.parts)
def __str__(self): return f"1/" + _maybe_parenthesise(self.inner)
def __str__(self): return type(self).__name__ + '(' \ + ", ".join(_maybe_parenthesise(p) for p in self.parts) \ + ')'