Python练习题1

def f(x=[]):
    x.append(1)
    return x
print(f(),f())

上面代码运行结果是什么?

***********************************************

要想做出上面的题目,你需要的知识点是:

1,了解什么是可更改对象
2,了解函数的默认参数
3,了解 print() 函数

***********************************************

默认参数值只能被初始化一次,下面代码:

print( f() )
print( f() )

返回:
[1]
[1, 1]

print( f(), f() )

等价于:
x1 = f()
x2 = f()  #此时,列表对象已经改变了,当然x1所指向的列表对象也要跟着变。

print( x1, x2 )  #故,结果为[1,1] [1,1]