Self modifying systems question
Duncan Booth
duncan at NOSPAMrcp.co.uk
Wed Apr 30 08:37:04 EDT 2003
More information about the Python-list mailing list
Wed Apr 30 08:37:04 EDT 2003
- Previous message (by thread): Self modifying systems question
- Next message (by thread): Self modifying systems question
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
tebeka at cs.bgu.ac.il (Miki Tebeka) wrote in news:33803989.0304300426.402cd1ef at posting.google.com: >> Self modifying code is a well known technology. Has anyone done this in >> Python? What I'm seeking for is examples of software that adds to >> itself (methods and variables) in runtime. I'd like an instantiated >> object to >> be able to add a method to itself. >>>> class A: > pass > >>>> a = A() >>>> a.f = lambda x: x + 1 >>>> a.f(100) > 101 That doesn't really add a method to 'a', it adds a function, but the function doesn't have any way to determine which instance it was called on. You need to simulate the same binding that you get when calling a method defined in the class. Here is one way to add a method to an instance (Python 2.2 and on): >>> def f(self): return self.x + 1 >>> class A: pass >>> a.x = 5 >>> a.f = f.__get__(a) >>> a.f() 6 >>> -- Duncan Booth duncan at rcp.co.uk int month(char *p){return(124864/((p[0]+p[1]-p[2]&0x1f)+1)%12)["\5\x8\3" "\6\7\xb\1\x9\xa\2\0\4"];} // Who said my code was obscure?
- Previous message (by thread): Self modifying systems question
- Next message (by thread): Self modifying systems question
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list