Seebs writes:
>> For long strings, another option is triple-quoting as you've seen in doc
>> strings: print """foo
>> bar""".
>
> I assume that this inserts a newline, though, and in this case I don't
> want that.
True.
$ python
>>> """foo
... bar"""
'foo\nbar'
>>> """foo\
... bar"""
'foobar'
>>> "foo\
... bar"
'foobar'
>>> "foo" "bar"
'foobar'
>> SourceFile.__repr__() looks like it should be a __str__(). I haven't
>> looked at how you use it though. But __repr__ is supposed to
>> look like a Python expression to create the instance: repr([2]) = '[2]',
>> or a generic '<foo instance>': repr(id) = '<built-in function id>'.
>
> Ahh! I didn't realize that. I was using repr as the "expand on it enough
> that you can see what it is" form -- more for debugging than for
> something parsable.
No big deal, then, except in the "idiomatic Python" sense.
__str__ for the informal(?) string representation of the object,
def __repr__(self):
return "<%s object with %s>" % (self.__class__.__name__, <foo>)
and you have a generic 2nd case, but looks like it'll be unusually long
in this case, or just define some ordinary member name like info() or
debug().
--
Hallvard
--
http://mail.python.org/mailman/listinfo/python-list