码迷,mamicode.com
首页 > 其他好文 > 详细

刷题(十)

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

标签:python   pen   没有   数据类型   def   code   默认   for   参数   

题目

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]

刷题(十)

标签:python   pen   没有   数据类型   def   code   默认   for   参数   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!