下面python程序中的所有id()
都打印相同的值。我认为不同的成员函数是不同的对象,因此id()
应该返回不同的值。为什么id()
返回相同的值?你知道吗
class A():
def x(self):
print 'x'
def __y(self):
print 'y'
def y(self):
self.__y()
class B(A):
def x(self):
self.jj = 20
print 'bx'
def __y(self):
self.sj = 20
print 'by'
print 'by'
ta = A()
tb = B()
ta.x()
ta.y()
ta._A__y()
tb.x()
tb._A__y()
tb._B__y()
tb.y()
print id(ta.x)
print id(ta.y)
print id(ta._A__y)
print id(tb.x)
print id(tb._A__y)
print id(tb._B__y)
print id(tb.y)
下一个问题(实际上这是我最初的问题)是,如何检查tb.A\u y和tb.y是否真的调用了相同的函数。我想如果id()返回函数的地址,使用id()会告诉我答案。但现在我知道它在Python中不是这样工作的。你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐