如果向函数增加一个额外的参数,不用太麻烦就可以用现在的代码处理缩进。
一下是Python的一些内置函数:这些内置函数有它们自己的命名空间。_ _ builtins_ _
for num in range(4): print(num) 结果: 0 1 2 3
“num”是目标标识符,会逐个赋值为“range()”生成的各个数字。
增加参数后:
"""这是nester.py模块,提供一个名为pint_lol()的函数,这个函数的作用是打印列表。这个列表中可以嵌入列表,也可以没有""" def print_lol(the_list,level): for element in the_list: if isinstance(element ,list): print_lol(element,level+1) else: for tap_stop in range(level): print("\t",end='') print(element) movies =['1','2',['3',['31','32']]]import nester nester.print_lol(movies,0)
运行结果:
注意:print中的end=' '意思是打印后不换行。
使用可选参数:
为了将一个函数的必要参数变成可选的参数,需要为这个参数提供一个缺省值。如果没有提供参数值,就会使用这个缺省值。
def print_lol(the_list,level=0)
如何关闭缩进呢?
def print_lol(the_list,indent=False,level=0): for element in the_list: if isinstance(element ,list): print_lol(element,indent,level+1) else: if indent: for tap_stop in range(level): print("\t",end='') print(element)