Message165948
| Author |
sbt |
| Recipients |
alexandre.vassalotti, asvetlov, daniel.urban, loewis, meador.inge, mstefanro, ncoghlan, rhettinger, sbt, yselivanov |
| Date |
2012年07月20日.17:08:18 |
| SpamBayes Score |
-1.0 |
| Marked as misclassified |
Yes |
| Message-id |
<1342804100.32.0.64906939583.issue15397@psf.upfronthosting.co.za> |
| In-reply-to |
| Content |
Can't you unbind without any changes to the C code by doing
def unbind(f):
if hasattr(f, '__func__'):
return f.__func__
self = getattr(f, '__self__', None)
if self is not None and not isinstance(self, types.ModuleType):
return getattr(type(f.__self__), f.__name__)
raise TypeError('not a bound method')
Also, I am not convinced that it is a good idea to return f if f is already "unbound". In practice I think you will always need to treat the bound and the unbound cases differently. |
|