docstr: Print the call signature for any callable object.
  
  If the object is a class, print the constructor information.
code: def pdef(self, obj, oname=""):
      """Print the call signature for any callable object.
  
      If the object is a class, print the constructor information."""
  
      if not callable(obj):
          print("Object is not callable.")
          return
  
      header = ""
  
      if inspect.isclass(obj):
          header = self.__head("Class constructor information:\n")
      elif (not py3compat.PY3) and type(obj) is types.InstanceType:
          obj = obj.__call__
  
      output = self._getdef(obj, oname)
      if output is None:
          self.noinfo("definition header", oname)
      else:
          print(header, self.format(output), end=" ")
  
imports: from __future__ import print_function
  import inspect
  import linecache
  import warnings
  import os
  from textwrap import dedent
  import types
  import io
  from IPython.core import page
  from IPython.lib.pretty import pretty
  from IPython.testing.skipdoctest import skip_doctest_py3
  from IPython.utils import PyColorize
  from IPython.utils import openpy
  from IPython.utils import py3compat
  from IPython.utils.dir2 import safe_hasattr
  from IPython.utils.path import compress_user
  from IPython.utils.text import indent
  from IPython.utils.wildcard import list_namespace
  from IPython.utils.coloransi import TermColors, ColorScheme, ColorSchemeTable
  from IPython.utils.py3compat import cast_unicode, string_types, PY3
  from IPython.utils.signatures import signature
  from IPython.utils.colorable import Colorable
  from pygments import highlight
  from pygments.formatters import HtmlFormatter
label_desc: Use image node_id 6 for calling the Inspector obj's underlying member method code with example usage: obj.pdef(obj, oname) without return types