How to replace a method in an instance.

Steven W. Orr steveo at syslang.net
Fri Aug 24 18:02:40 CEST 2007


In the program below, I want this instance to end up calling repmeth 
whenever inst.m1 is called. As it is now, I get this error:

Hello from init
inst =  <__main__.CC instance at 0x402105ec>
Traceback (most recent call last):
   File "./foo9.py", line 17, in ?
     inst.m1()
TypeError: repmeth() takes exactly 1 argument (0 given)


#! /usr/bin/python
def repmeth( self ):
     print "repmeth"

class CC:
     def __init__( self ):
         self.m1 = repmeth
         print 'Hello from init'

     def m1 ( self ):
         print "m1"

inst = CC()
inst.m1()

TIA

-- 
Time flies like the wind. Fruit flies like a banana. Stranger things have  .0.
happened but none stranger than this. Does your driver's license say Organ ..0
Donor?Black holes are where God divided by zero. Listen to me! We are all- 000
individuals! What if this weren't a hypothetical question?
steveo at syslang.net



More information about the Python-list mailing list