[Python-de] Stimmt das so?

Reinmueller, Jan Jan.Reinmueller at regwest.sbs.de
Mit Jul 9 17:44:21 EDT 2003


Hi Liste! Ich versuche mich gerade in Quellcode einzulesen. Der sieht
folgendermassen aus:

class Entity:
	def __init__(self,id):
		self.id = id
		self.mObjects = {}
		self.mAgents = {}

	def __str__(self):
		return self.id

	def objects(self,relation):
		try: ans = self.mObjects[relation]
		except: ans = []
		if relation.transitive:
			# if it's a transitive relation,
			# pursue recursively
			for i in tuple(ans):
				ans = ans + i.objects(relation)
		return ans


Aufruf:

Thing = Entity("thing")

Also, ich übergebe "thing" in die init Funktion der Klasse Entity. Dann
werden dort erst mal die 2 Konstruktoren mit Namen self.mObjects und
self.mAgents instanziert. Ich hoffe das stimmt soweit.

Danach wandle ich die Id von einem Objekt in einen String um und übergebe
diesen in die Variable "THING". ( __str__)

Die Funktion objects wird doch in diesem Fall, oder im Moment noch gar nicht
aufgerufen oder?

Danke.. Bin Newbie und will erst mal verstehen, wie Python so arbeitet.

THX