python中使用可选参数
names=["1","2",["3","4"]] def print_lol(the_list,level): for each_item in the_list: if isinstance(each_item,list): print_lol(each_item) else: for tab_stop in range(level): print("\t",end="") print(each_item) print_lol(names,2)
上面的结果:
1
2
Traceback (most recent call last):
File "D:/python/4.py", line 11, in <module>
print_lol(list23,0)
File "D:/python/4.py", line 6, in print_lol
print_lol(each_item)
TypeError: print_lol() takes exactly 2 arguments (1 given)
def print_lol(the_list,level):
这一句两个参数是必要的,“level”是一个可选的参数
names=["1","2",["3","4"]] def print_lol(the_list,level=0): for each_item in the_list: if isinstance(each_item,list): print_lol(each_item) else: for tab_stop in range(level): print("\t",end="") print(each_item) print_lol(names,2)
结果是:
1
2
3
4
def print_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="") print(each_item) names=["Bob","Tom",["jua","lun"],"pop"] print_lol(names) print("**********************") print_lol(names,True) print("**********************") print_lol(names,False,4) print("**********************") print_lol(names,True,4)
结果是:
Bob Tom jua lun pop ********************** Bob Tom jua lun pop ********************** Bob Tom jua lun pop ********************** Bob Tom jua lun pop