making a class callable

MRAB python at mrabarnett.plus.com
Thu Mar 3 21:07:52 EST 2011


On 04/03/2011 01:45, dude wrote:
> I've been struggling with getting my class to behave the way I want
> it.
>
> I have python module called ohYeah.py, defined as follows...
> #File Begin
> class foo:
>
>      def __init__(self, arg1):
>          print arg1
>          self.ohYeah = arg1
>
>      def whatwhat(self):
>          return self.ohYeah
> #EOF
>
> My goal is to be able to instantiate the class foo from another python
> module, like so:
>
> # Example Usage
> f = foo("wow")
> j = foo("amazing")
> f.whatwhat()
> wow
> j.whatwhat()
> amazing
> #
>
> However, I always get the "module not callable" error.  After entering
> a "def __call__" method in class foo, still get the same problem.  Can
> someone please point me in the right direction for being able to
> achieve the Example Usage above?  I'm sure there is something trivial
> I'm missing, but after digging around online for a day, I couldn't
> find the missing piece.  Thanks in advance.

How are you importing it?

It should be something like:

     from ohYeah import foo

BTW, the recommendation is for class names to be CamelCase and modules
names to be lowercase.



More information about the Python-list mailing list