#!/usr/bin/env python def bayer(obj): return obj._bayer_() def makePerson(): ### Mehrfachzuweisungen, easy: def i(self, vorname, nachname): self.vorname, self.nachname = vorname, nachname def b(self): return f"{self.nachname} {self.vorname}" ### so, na klar: class C: def __repr__(self): return f"{self.vorname} {self.nachname}" ### oder so: #class C: pass #C.__repr__ = lambda self: f"{self.vorname} {self.nachname}" ### lambdas haben gewisse Restriktionen, daher hier über Hilfsfunktion: C.__init__ = lambda self, vorname, nachname: i(self, vorname, nachname) ### aber so gehts auch: setattr(C, '_bayer_', b) return C if __name__ == '__main__': p = makePerson()('Sheeva', 'Plug') print(p) print(bayer(p))