python函数返回的对象的对象ID

时间:2019-08-14 09:11:01

标签: python

我要从python函数返回一个列表,但是在这种情况下我很难理解新对象(列表)的创建方式。

在Ubuntu 16.04,Python 3.7.4上运行。 请检查以下代码:

def fun():
    return [1, 2, 3]


# CASE 1
x = fun()
y = fun()
print(x is y)  # Results in 'False'

# CASE 2
print(fun() is fun())  # Results in 'False'

# CASE 3
print(id(fun()))  # Prints 140347113376816
print(id(fun()))  # Prints 140347113376816  (SAME !!)

我一直希望,即使对于情况3,两次调用fun()也会得到不同的ID,类似于情况1和情况2。

0 个答案:

没有答案