I think that you should take a look at the StrPrinter interface and consider implementing a custom StrPrinter. You may need to implement a method like _print_LinearDifferentialOperator.
While simple string concatenation or interpolation might work for basic expressions, these approaches have significant limitations when dealing with expressions that require proper handling of operator precedence and parenthesizing.