为了将一个函数的必要参数变成可选参数,需要为这个参数提供一个缺省值,即若没有提供参数值,就会使用缺省值,如果提供了参数值,则会使用这个值而不是缺省值。当然,关键在于,参数的缺省值实际上使得这个参数成为可选参数。
为了向函数参数提供缺省值,需要在参数名后面制定这个缺省值
例:
def print_lol(the_list,level=0)
可以根据参数需要设置缺省值,这样在调用函数时,若参数为缺省值,则可以不定义
问题是,没有实验成功
希望某个功能可选时,一种解决方案是增加第三个参数,需要缩进时就设置为true,不需要缩进时就设置为false,如果确保这个参数默认为false,原来的功能就会成为默认行为,代码用户必须请求这个新的缩进特性。
将参数命名为indent,开始这个参数值设置为False,也就是说,默认情况下不打开缩进特性,在函数中用indent值来控制实现缩进代码。
模块:
defprint_lol(the_list,indent=False,level=0):
for each_item in the_list:
if isinstance(each_item,list):
print_lol(each_item,indent,level+1)
else:
if indent:
for tab_stop in range(level):
print('\t',end='')
else:
print(each_item)