class_docstr: A printer to convert Python expressions to
  strings of the Wolfram's Mathematica code
class_docstr_tok: ["A","printer","to","convert","Python","expressions","to","strings","of","the","Wolfram","'s","Mathematica","code"]
docstr: Register function mappings supplied by user
docstr_tok: ["Register","function","mappings","supplied","by","user"]
code: def __init__(self, settings={}):
      """Register function mappings supplied by user"""
      CodePrinter.__init__(self, settings)
      self.known_functions = dict(known_functions)
      userfuncs = settings.get("user_functions", {}).copy()
      for k, v in userfuncs.items():
          if not isinstance(v, list):
              userfuncs[k] = [(lambda *x: True, v)]
      self.known_functions.update(userfuncs)
  
imports: from __future__ import annotations
  from typing import Any
  from sympy.core import Basic, Expr, Float
  from sympy.core.sorting import default_sort_key
  from sympy.printing.codeprinter import CodePrinter
  from sympy.printing.precedence import precedence
label_desc: Use image node_id 1 to create a new MCodePrinter object from inherited base classes: CodePrinter with example: obj = MCodePrinter(settings)