class_docstr: Magics to manage various aspects of the user's namespace.
  
  These include listing variables, introspecting into them, etc.
docstr: Print all interactive variables, with some minimal formatting.
  
  If any arguments are given, only variables whose type matches one of
  these are printed.  For example::
  
    %who function str
  
  will only list functions and strings, excluding all other types of
  variables.  To find the proper type names, simply use type(var) at a
  command line to see how python prints type names.  For example:
  
  ::
  
    In [1]: type('hello')\
    Out[1]: <type 'str'>
  
  indicates that the type name for strings is 'str'.
  
  ``%who`` always excludes executed names loaded through your configuration
  file and things which are internal to IPython.
  
  This is deliberate, as typically you may load many modules and the
  purpose of %who is to show you only what you've manually defined.
  
  Examples
  --------
  
  Define two variables and list them with who::
  
    In [1]: alpha = 123
  
    In [2]: beta = 'test'
  
    In [3]: %who
    alpha   beta
  
    In [4]: %who int
    alpha
  
    In [5]: %who str
    beta
docstr_tok: ["Print","all","interactive","variables",",","with","some","minimal","formatting",".","If","any","arguments","are","given",",","only","variables","whose","type","matches","one","of","these","are","printed",".","For","example",":",":","%","who","function","str","will","only","list","functions","and","strings",",","excluding","all","other","types","of","variables",".","To","find","the","proper","type","names",",","simply","use","type","(","var",")","at","a","command","line","to","see","how","python","prints","type","names",".","For","example",":",":",":","In","[","1","]",":","type","(","'hello","'",")","\\","Out","[","1","]",":","<","type","'str","'",">","indicates","that","the","type","name","for","strings","is","'str","'",".","``","%","who","``","always","excludes","executed","names","loaded","through","your","configuration","file","and","things","which","are","internal","to","IPython",".","This","is","deliberate",",","as","typically","you","may","load","many","modules","and","the","purpose","of","%","who","is","to","show","you","only","what","you","'ve","manually","defined",".","Examples","--","--","--","--","Define","two","variables","and","list","them","with","who",":",":","In","[","1","]",":","alpha","=","123","In","[","2","]",":","beta","=","'test'","In","[","3","]",":","%","who","alpha","beta","In","[","4","]",":","%","who","int","alpha","In","[","5","]",":","%","who","str","beta"]
code: def who(self, parameter_s=""):
      """Print all interactive variables, with some minimal formatting.
  
          If any arguments are given, only variables whose type matches one of
          these are printed.  For example::
  
            %who function str
  
          will only list functions and strings, excluding all other types of
          variables.  To find the proper type names, simply use type(var) at a
          command line to see how python prints type names.  For example:
  
          ::
  
            In [1]: type('hello')\\
            Out[1]: <type 'str'>
  
          indicates that the type name for strings is 'str'.
  
          ``%who`` always excludes executed names loaded through your configuration
          file and things which are internal to IPython.
  
          This is deliberate, as typically you may load many modules and the
          purpose of %who is to show you only what you've manually defined.
  
          Examples
          --------
  
          Define two variables and list them with who::
  
            In [1]: alpha = 123
  
            In [2]: beta = 'test'
  
            In [3]: %who
            alpha   beta
  
            In [4]: %who int
            alpha
  
            In [5]: %who str
            beta
          """
  
      varlist = self.who_ls(parameter_s)
      if not varlist:
          if parameter_s:
              print("No variables match your requested type.")
          else:
              print("Interactive namespace is empty.")
          return
  
      # if we have variables, move on...
      count = 0
      for i in varlist:
          print(i + "\t", end=" ")
          count += 1
          if count > 8:
              count = 0
              print()
      print()
  
imports: import gc
  import re
  import sys
  from IPython.core import page
  from IPython.core.error import StdinNotImplementedError, UsageError
  from IPython.core.magic import Magics, magics_class, line_magic
  from IPython.testing.skipdoctest import skip_doctest
  from IPython.utils.encoding import DEFAULT_ENCODING
  from IPython.utils.openpy import read_py_file
  from IPython.utils.path import get_py_filename
label_desc: Use image node_id 9 for calling the NamespaceMagics obj's underlying member method code with example usage: obj.who(parameter_s) without return types