首页 > 其他 > 详细

刷题(十)

时间:2020-05-02 17:40:58      阅读:50      评论:0      收藏:0      [点我收藏+]

题目

def f(x, l = []):
    for i in range(x):
        l.append(i * i)  
    print(l)

f(2)  
f(3, [3, 2, 1]) 
f(3) 

分析

由于函数f的默认参数 l 是列表,因此是可变数据类型,当f(2)调用后f()后,l变为[0, 1],当f(3, [3, 2, 1])调用时,由于使用的是自定义的参数,所以这次默认参数 l 的值不变,仍是[0, 1],当使用f(3)调用后,由于没有传自定义参数,因此使用默认参数 l = [0, 1],所以最后的结果是[0, 1, 0, 1, 4]

结果

[0, 1]
[3, 2, 1, 0, 1, 4]
[0, 1, 0, 1, 4]

刷题(十)

原文:https://www.cnblogs.com/my_captain/p/12818339.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!