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]