Почему методы разных объектов одного класса имеют одинаковые идентификаторы?

В следующем коде я нене понимаю почемуuseless_func имеет одинаковый идентификатор, когда он принадлежит двум разным объектам?

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

Ответы на вопрос(2)

Ваш ответ на вопрос