我正在学习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上找一个类似的问题,但是找不到一个,所以不得不问它。