i re-write it

Dave Angel davea at ieee.org
Wed Dec 16 12:05:47 EST 2009



codefly wrote:
> On Dec 17, 12:43 am, "Diez B. Roggisch" <de... at nospam.web.de> wrote:
>   
>> codefly wrote:
>>     
>>> error message is here..
>>> when i type import code2
>>>       
>>> Traceback (most recent call last):
>>>   File "<stdin>", line 1, in <module>
>>>   File "code2.py", line 11
>>>     ~
>>>                        ^
>>> SyntaxError: invalid syntax
>>>       
>>> and source code is here
>>>       
>> No, it isn't. The above error says "line 11", but the code you show doesn't
>> have 11 lines.
>>
>> From the above error, it looks as if you have a stray "tilde"-character on
>> the last or so line in code.py. Remove it.
>>
>> Diez
>>     
>
> now.. another problem..
>
> when i type me = code2()
>
> the error is here..
> Traceback (most recent call last):
>   File "<stdin>", line 1, in <module>
> TypeError: 'module' object is not callable
>
>
>   

Your code was/is in code2.py
-----------------

class codefly:
      def WaitFreecatz(self, hours):
          hours = self.hours
          i =1
          while i < hours:
                print ' i wait for %s hours' %(i)
                i = i+1
          if i ==hours:
                print 'he never comes'

-----------------

The message is pretty clear.  Why are you trying to call the module you 
just imported?  Perhaps you meant to instantiate the class that was 
defined there.  In that case, the syntax would be:
    me = code2.codefly()

To save you some trouble on your next bug, let me point out that your 
class does not initialize its instance variable  self.hours    That's 
normally done in the __init__() method.  Also, you can interactively see 
the objects of an object with the dir() function.  So try  
dir(code2)     dir(code2.codefly)    and  dir(me)

DaveA





More information about the Python-list mailing list