On Aug 21, 11:07 am, [EMAIL PROTECTED] wrote:
> I'm confused about why i get a type error when i call an object's
> method.  Here's the example code:>>> class Foo:
>
>         def __init__(self):
>                 self.foo = []
>         def foo(self):
>                 print "in foo!"
>
> >>> f = Foo()
> >>> dir(f)
>
> ['__doc__', '__init__', '__module__', 'foo']
>
> >>> f.foo()
>
> Traceback (most recent call last):
>   File "<pyshell#32>", line 1, in <module>
>     f.foo()
> TypeError: 'list' object is not callable
>
>

You've redefined what "f.foo" means in __init__. It's no longer a
class method, but an attribute of the instance--the list. You can't
call a list.

Do this to show what I mean:

>>> f.foo
[]

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to