On 30/10/12 12:00, richard kappler wrote:

[...]
If, however, I save the above in a file named hungry.py, then import
hungry, I get an error, as follows:

import hungry
hungry(96)
Traceback (most recent call last):
   File "<stdin>", line 1, in<module>
TypeError: 'module' object is not callable

So what am I missing? Someone do please point out the obvious. ;-)

You have a module called "hungry" and a function called "hungry" inside
that, so to reach the inner "hungry" you need to do this:

import hungry
hungry.hungry(96)


Which is no different from:

import math
math.cos(0.96)

Python will never try to guess which inner function you want when you
call a module directly, not even if the inner function has the same
name as the module. You must always explicitly tell it which inner
function you want.


An alternative is this:

from hungry import hungry  # like "from math import cos"
hungry(96)


--
Steven
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to