Quite often I find myself writing bytecodehacks that act uniformaly on
methods and functions, so I wrote this class to relieve the tedium of
checking all the time.
Use it like this:
base = FunctionOrMethod(ob)
func = base.function
# manipulate func
- FunctionOrMethod (functionormethod)
If functionormethod is a method, make an InstanceMethod
and assign it to self.method, then assign
self.method.im_func to self.function.
On the other hand if functionormethod is a function, just make a
Function out if it and whack it in self.function.
- make_function_or_method ()
Can you guess what this function does?
1 if a method was passed to __init__, 0 otherwise. Can be
useful if you need to slightly special-case methods.
A Function object. This is what you manipulate if you're using
Only present if a method was passed to __init__. If present,
it's what you think it is.
Send comments to firstname.lastname@example.org