[Biopython-dev] GSoC code+documentation review: PhyloXML for Biopython
Eric Talevich
eric.talevich at gmail.com
Sat Jul 4 12:28:45 EDT 2009
On Sat, Jul 4, 2009 at 10:14 AM, Peter <biopython at maubp.freeserve.co.uk>wrote:
>
> The __repr__ thing isn't Biopython specific, its just what Python does. For
> simple objects, eval(repr(obj)) should recreate the object. Consider:
>
> >>> print phx.other
> [Other(tag=alignment, namespace=http://example.org/align)]
>
> That is odd to me. It looks like "other" is a list, containing an "Other"
> object, but with a funny __repr__ - I would have expected it to look more
> like this:
>
> >>> print phx.other
> [Other(tag="alignment", namespace="http://example.org/align")]
>
> i.e. using the repr of what I have assumed are string arguments.
>
> Peter
>
Hi Peter,
Thanks! Your interpretation of the example is correct. I'll change __repr__
to check if the attribute is a string and, if so, escape and quote it.
In the docs, I wrote that the representation is Biopython-style because by
default, Python does something a little different for complex objects:
>>> class Foo(object): pass
>>> Foo()
<__main__.Foo object at 0xb7cff22c>
But I noticed that Seq and other Biopython objects give a nicer
representation that actually works as a constructor, so I tried to match
that.
Cheers,
Eric
(P.S. - Sorry if the original message seemed a little terse or weird. I
watched the BOSC slides and I do appreciate the effort you all put into the
conference.)
More information about the Biopython-dev
mailing list