code: def __init__(self, props=None, **more_props):
      if props is None:
          props = {}
      elif isinstance(props, gof.utils.scratchpad):
          self.__update__(props)
      else:
          self.__dict__.update(props)
      self.__dict__.update(more_props)
      # A dict from the object to print to its string
      # representation. If it is a dag and not a tree, it allow to
      # parse each node of the graph only once. They will still be
      # printed many times
      self.memo = {}
  
imports: from __future__ import absolute_import, print_function, division
  from copy import copy
  import logging
  import os
  import sys
  import hashlib
  import numpy
  from six import string_types, integer_types, iteritems
  from six.moves import StringIO, reduce
  import theano
  from theano import gof
  from theano import config
  from theano.gof import Op, Apply
  from theano.compile import Function, debugmode, SharedVariable
label_desc: Use image node_id 1 to create a new PrinterState object from inherited base classes: gof.utils with example: obj = PrinterState(props)