Warum haben Methoden verschiedener Objekte derselben Klasse dieselbe ID?

Im folgenden Code verstehe ich nicht warumuseless_func hat die gleiche ID, wenn es zu zwei verschiedenen Objekten gehört?

class parent(object):
   @classmethod
   def a_class_method(cls):
     print "in class method %s" % cls

   @staticmethod
   def a_static_method():
     print "static method"

   def useless_func(self):
     pass

 p1, p2 = parent(),parent()

 id(p1) == id(p2) // False

 id(p1.useless_func) == id(p2.useless_func) // True

Antworten auf die Frage(2)

Ihre Antwort auf die Frage