Bengt Richter wrote:

I never liked any of the solutions that demand bracketing the string with 
expression brackets,
but I just had an idea ;-)

Or for an even more twisted idea:


from textwrap import dedent

  class _Dedent(type):

    def __new__(cls, name, bases, dict):
      if name  == "*": # for bootstrapping
        return type.__new__(cls, name, bases, dict)
      return dedent(dict['__doc__'])

  DedentedString = _Dedent("*", (), {})

  #
  #   Usage example
  #

  class foo(DedentedString):
    """
    This is a dedented (or perhaps demented?) string.
    It spans multiple lines.
    """

  print type(foo)
  print foo

The output is:

  <type 'str'>

  This is a dedented (or perhaps demented?) string.
  It spans multiple lines.


-- Greg Ewing, Computer Science Dept, University of Canterbury, Christchurch, New Zealand http://www.cosc.canterbury.ac.nz/~greg -- http://mail.python.org/mailman/listinfo/python-list

Reply via email to