def listPractice(list=[]):
list.append('python')
return list
if __name__=='__main__':
print listPractice([1, 2, 3]) # [1, 2, 3, 'python']
print listPractice() # ['python']
print listPractice() # ['python', 'python']
解读:
- 第一次调用函数时,传递了参数的,那么虽然定义函数时给了默认参数“ list=[] ”,只要传了这个参数,就用传过来的参数,所以list=[1,2,3],
- 第二次调用函数时,没有传递参数,那么就用默认的参数,即list=[] ,经过函数内部后,list=['python'];
- 第三次调用函数时,也没有传参数,那么list=['python'] 的基础上 ,再次经过函数内部后,
['python', 'python']
结论:可以看出来,传参数和不传参数的情况是不一样的。
if name=='main':
print listPractice() # ['python']
print listPractice([1, 2, 3]) # [1, 2, 3, 'python']
print listPractice() # ['python', 'python']
网友评论