关于python的一个小测试题:
def f(x, y, z):
x.append(y) #此处内部x和外部x指向同一个对象
x = x + [z] #此处内部x指向[4,3,[5,6],[4,2,1]],外部x指向[4,3,[5,6]]
return x #返回内部x,即[4,3,[5,6],[4,2,1]]
x, y, z = [4, 3], [5,6], [4,2,1]
x = f(x, y, z) + x #此处等号右边外部x指向[4,3,[5,6]],等号左边
#指向[4,3,[5,6],[4,2,1],[4,3,[5,6]]]
print(x)
**# 步骤拆解:**
f(x,y,z)拆解:
x.append(y) #[4,3,[5,6]]
x=x+[z] #[4,3,[5,6],[4,2,1]]
# 故:
x = f(x, y, z) + x #[4,3,[5,6],[4,2,1],[4,3,[5,6]]]
print(x) #[4,3,[5,6],[4,2,1],[4,3,[5,6]]]
1535

被折叠的 条评论
为什么被折叠?



