Hello Steven, I already implemented this using the form
@classmethod def methodname(cls,other_params,self=None) but your example code looks so neat! This is exactly what I needed. :-) In my methods, most code is about string manipulation and calling other classmethods. There are only a few places where I can use an instance, but it is not required. I would like to reuse as most code as possible, so I do not want to create two different methods. That would result in duplicating code. Now the only problem is how I name this. It is not a classmethod, but it is also not a normal method. All right, it is a "ClassOrInstanceMethod". Amazing! Probably Python is the only language that is flexible enough to do this. :-) Thanks again! Laszlo Steven Bethard wrote: >Laszlo Zsolt Nagy wrote: > > >> Hello, >> >>Is it possible to tell, which instance was used to call the classmethod >>that is currently running? >> >> > >>> class ClassOrInstanceMethod(object): >... def __init__(self, func): >... self.func = func >... self.classfunc = classmethod(func) >... def __get__(self, obj, objtype=None): >... func = obj is None and self.classfunc or self.func >... return func.__get__(obj, objtype) >... > > -- http://mail.python.org/mailman/listinfo/python-list