先来一段代码:
#这段代码可牛逼了,1、可以根据indent的选项调整模式。2、根据level调整级别。
#代码很low,主要看思想。。哈哈哈。。看看从最初的样子到最好经历了什么。。
开始:
#!/usr/bin/env python
def print_lol(the_list):
for each_item in the_list:
if isinstance(each_item,list):
print_lol(each_item)
else:
print(each_item)
#movies=["xx",123,"yy",1234,["zz",['aa',"bb"]]]
#print_lol(movies)
最后:#未改变最初的编程接口,增加而外的功能。
#!/usr/bin/env python
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_srop in range(level):
print " ",
print(each_item)
movies=["xx",123,"yy",1234,["zz",['aa',"bb"]]]
print_lol(movies,True,0)
执行结果:
几个小知识点:
一、
pyhon2.x 3.x print()抑致换行问题:
2.x:
python "xxx",
3.x:
print("xxx",end="")
二、
如果一个函数的参数中含有默认参数,则这个默认参数后的所有参数都必须是默认参数 ,
否则会抛出:SyntaxError: non-default argument follows default argument的异常。