def f(x=[]):
x += [1]
x += [23]
print("***", x)
return x
'''
对于list这样可修改的结构,一旦作为默认实参,没有f([12,2])这样形式,
就会调用定义函数时保存的默认参数(修改后的结构),
print()函数会让函数全部执行完最后统一输出,故出现如下情况
'''
print('>>:', f(), f())
或
'''
会先让函数全部执行完,最后统一赋值
'''
x, y = f(), f()
print(x, y)
相同的输出:
*** [1, 23]
*** [1, 23, 1, 23]
>>: [1, 23, 1, 23] [1, 23, 1, 23]
python中print('>>:', f(), k()),先执行全部f(),k(),最后统一输出
最新推荐文章于 2022-09-12 20:55:41 发布