Advertisement

Python函数处理list作为参数

阅读量:

在函数定义过程中,系统会将默认参数 list 的值进行存储,具体表现为列表 l=[];

每当函数被调用时,若传入了新的列表,则采用该新列表;若未传入,则沿用函数定义阶段所存储的默认参数(即 l=[]);

当调用函数时未提供新的列表(即继续使用默认列表 l=[]),程序将引用函数定义时所保留的默认参数(l=[]);

由于列表在执行 append 操作时会基于原有 l=[] 进行值的追加,因此将导致如下结果。

复制代码
 # *===================================*

    
 # -*- coding: utf-8 -*-
    
 # * Time : 2019-07-03 10:50
    
 # * Author : zhangsf
    
 # *===================================*
    
 def f(x,l=[]):
    
     print(id(l))
    
     for i in range (x):
    
     l.append(i*i)
    
     print(l)
    
  
    
 print('---1---')
    
 f(2)
    
 print('---2---')
    
 f(3,[3,2,1])
    
 p

全部评论 (0)

还没有任何评论哟~