code: def _fmt_signature(
      self,
      cls_name,
      func_name,
      args,
      npargs=0,
      pargs=None,
      nkargs=0,
      kargs=None,
      return_expr=None,
      return_type=None,
      hide_self=False,
  ):
      arglist = self._fmt_arglist(
          args, npargs, pargs, nkargs, kargs, hide_self=hide_self
      )
      arglist_doc = ", ".join(arglist)
      func_doc = "%s(%s)" % (func_name, arglist_doc)
      if cls_name:
          func_doc = "%s.%s" % (cls_name, func_doc)
      ret_doc = None
      if return_expr:
          ret_doc = self._fmt_expr(return_expr)
      elif return_type:
          ret_doc = self._fmt_ret_type(return_type)
      if ret_doc:
          func_doc = "%s -> %s" % (func_doc, ret_doc)
      return func_doc
  
imports: from __future__ import absolute_import, print_function
  from .Visitor import CythonTransform
  from .StringEncoding import EncodedString
  from .None import Options
  from .None import PyrexTypes, ExprNodes
  from ..CodeWriter import ExpressionWriter
label_desc: Use image node_id 7 for calling the EmbedSignature obj's underlying member method code with example usage: obj._fmt_signature(cls_name, func_name, args, npargs, pargs, nkargs, kargs, return_expr, return_type, hide_) and returns: func_doc