Question about Objects - repost with correct email account

Thorsten Pferdekämper thorsten at pferdekaemper.com
Fri Nov 21 10:07:31 EST 2003


"bas68" <bas68 at cox.net> wrote in message
news:MGpvb.394$xV6.316 at lakeread04...
> I've been hacking visual basic for several years and understand the basic
> concepts of OOP. That said, I'm stumped here with the Python Class.
>
> Here is the Class...
>
> >class Test:
> >    def __init__(self, something):
> >        self.something = something
> >
> >    def getSomething(self):
> >        return self.something
>
> This is what I get when I test it. Why does <getSomething> not return the
> value of <something>? is obvious that <something> has a value. I fear this
> is a simple oversight but I've racked my brain for hours looking at online
> doc's and examples. Thanks for any help!!
>
> >Python 2.3 (#46, Jul 29 2003, 18:54:32) [MSC v.1200 32 bit (Intel)] on
> win32
> >Type "copyright", "credits" or "license()" for more information.
> >****************************************************************
> >IDLE 1.0      ==== No Subprocess ====
> >>>>
> >>>> x = Test("Microsoft Sucks")
> >>>> x.getSomething
> ><bound method Test.getSomething of <__main__.Test instance at
0x00C01940>>
> >>>> x.something
> >'Microsoft Sucks'
> >>>>
>
>

Hi,
getSomething is a callable attribute of class Test (i.e. a method),
so the expression:
   x.getSomething
evaluates to the method itself, while
   x.getSomething()
calls the method and therefore evaluates to the result of the method.
Regards,
    Thorsten






More information about the Python-list mailing list