(八)使用可选参数
2015-09-23 23:32
225 查看
为了将一个函数的必要参数变成可选参数,需要为这个参数提供一个缺省值,即若没有提供参数值,就会使用缺省值,如果提供了参数值,则会使用这个值而不是缺省值。当然,关键在于,参数的缺省值实际上使得这个参数成为可选参数。
为了向函数参数提供缺省值,需要在参数名后面制定这个缺省值
例:
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)
为了向函数参数提供缺省值,需要在参数名后面制定这个缺省值
例:
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)
相关文章推荐
- 学习synchronized遇到的一点问题
- LeetCode Reverse Bits
- 迁移/home目录至新硬盘分区总结--无备份情况下
- mysql client 参数
- 全排列个数
- 【j360-boot】Spring-boot系列一(可能是最好的quick start)
- MDM_weeke1
- 深入分析iOS问题-performSelector:onThread:withObject:waitUntilDone
- R使用RMySQL包
- 转 jvm设置调优
- 程序语言那些事--鸟瞰图
- C++基础中常见易混淆知识点
- test
- c# windows form 生命周期 (Life cycle) 事件 顺序
- android WebView的缓存模式、JS交互
- Caffe安装 Ubuntu14.04
- JAVA学习第二天
- Codeforces Round #321 (Div. 2) E - Kefa and Watch(hash + 线段树)
- 转 JVM内存分析及导致内存溢出的不健壮代码及解决办法
- 1044. 火星数字(20)