Danke für die Antworten, ich hatte auf eine Liste gehofft...
Hintergrund meiner Frage ist die Überlegung, wie ein locking-Mechanismus funktionieren könnte (ja, ich weiß, daß es lock-objects gibt und daß mein Vorschlag auch nicht threadsicher ist):
Code: Alles auswählen
class A(object):
def __init__(self):
self.owner = None
def acq( self, caller):
if self.owner == None:
self.owner = caller
def rel( self, caller):
if self.owner == caller:
self.owner = None
def func( self, caller):
if self.owner == caller:
print "Hallo!"
else:
print "kein Zugriff"
So weit, so simpel, jetzt muß nur der Nutzer dieses Objektes immer noch einen Parameter angeben. Wie ich Python einschätze, kann man ganz geschickt rausfinden, wer die Methoden acq(), rel() und func() aufgerufen hat.
Da ich aber nicht genau weiß, wie das heißt, dachte ich, es wäre schlau, mal die Liste der __<var>__ durchzugehen und eventuell das zu finden, was ich suche (allerdings ist das Vorhandensein der internen Variablen ja vom Objekt, dem die Variablen gehören, abhängig, daher ist eine vollständige Liste wohl etwas schwierig zu bauen). Ich habe etwas mit dir() rumgespielt, aber keine brauchbare Variable gefunden.
Gibt es für sowas eine pythonische Vorgehensweise?
Gruß,
Christoph