顾名思义,Python中的默认参数就是你什么都不用输出,程序自动给你补上一个默认值,我们来看一下例子。
初始函数:没有设置默认值,
必须输入两个参数,不然会报错
>>def sum(num1,num2):
>> hh = num1 +num2
>> return hh
>>result = sum(3,4)
>>print(result)
7
变式一:将num2设置默认值为5
可以只输入一个参数,如果设置两个参数,就按输入的两个参数来运算。
>>def sum(num1,num2=5):
>> hh = num1 +num2
>> return hh
>>result = sum(4)
>>print(result)
9
注意:
默认值参数必须写在最后,就是说 num2=5 必须写后面,不然报错
易错点:默认参数必须是不可变类型 如str,()
- 正常输出:
>>def add(s=[]):
>> s.append('End')
>> return s
>>print(add([1,2,3]))
[1, 2, 3, 'End']
- 异常输出:
默认参数s是一个变量,即[],从第二次调用函数后,每再调用函数一次,就记录一次上一次的值。
>>def add(s=[]):
>> s.append('End')
>> return s
>>print(add())
>>print(add())
['End']
['End', 'End']
调试:
用None或str这种不变类型来修改,因为不变类型一旦创建,对象内部数据就不能修改了。
>>def add(s=None):
>> if s is None:
>> s=[]
>> s.append('End')
>> return s
>>print(add())
>>print(add())
['End']
['End']