为什么2个相似函数的输出地址有差异?

时间:2017-06-16 08:07:00

标签: python-3.x

我正在学习python中的装饰器,我偶然发现了这段代码:

def add(x, y):
    return x+y
variable=add
print(id(add)) #returns some number 19080888
print(id(variable)) #returns the same number 19080888

print(id(add(1,2)) #returns some number 164680898
print(id(variable(1,2)) #returns different number 164680822

我无法绕过它。为什么函数的id()相同,但是它们的输出具有相同的参数,不同?

我试着在SO上找一个类似的问题,但是找不到一个,所以不得不问它。

0 个答案:

没有答案