Beginners question
Dave Angel
d at davea.name
Thu Aug 30 09:23:03 EDT 2012
On 08/30/2012 08:50 AM, boltar2003 at boltar.world wrote:
> On Thu, 30 Aug 2012 13:14:57 +0100
> MRAB <python at mrabarnett.plus.com> wrote:
> <snip>
> If its a class , why is it when I create my own class I get a completely
> different output with print and type?
>
>>>> class foo(object):
> .. def __init__(self):
> .. pass
> ..
>>>> f=foo()
>>>> print f
> <__main__.foo object at 0xb743956c>
You get that because you didn't provide a __str__() method in your
class. As i said in my other message, posix.stat_result is providing
that capability for your debugging convenience. There's no requirement
to provide it, but that's why the difference.
>>>> type(f)
> <class '__main__.foo'>
>
>
>
I haven't discovered why sometimes the type output shows type instead of
class. There are other ways of defining classes, however, and perhaps
this is using one of them. Still, it is a class, and stat() is
returning an instance of that class.
--
DaveA
More information about the Python-list
mailing list