|
|
发表于 2014-12-9 17:10:13
|
显示全部楼层
本帖最后由 wei_Y 于 2014-12-9 22:02 编辑
函数是用来执行一些功能,但是单个函数可以执行的功能有限,当然可以把内嵌的函数写在外面,不过那样会麻烦很多,因为变量等的都不会共享到了(局部变量),所以内嵌另外一个函数执行一部分操作。这样为了使功能全面,操作简便一些,而且作为模块时可以直接实行相应功能。
比方说递归操作
- def dg(strs):
- if len(strs) == 0:
- return 0
- else:
- dg(strs[1:])
复制代码 假如有一个list1 = ['123','456'],要将所有元素都调用一遍dg函数,但是这个列表不在此文件里。
每次要用都需要写一遍for i in list1: dg(i),虽然栗子只有两步,但是还有别的多的情况。
所以将这些写在一个函数里,递归是函数内部进行。
- def dg(strs):
- def sub(strs):
- if len(strs) == 0:
- return 0
- else:
- sub(strs[1:])
- if type(strs) == str:
- sub(strs)
- elif type(strs) == list:
- for i in strs:
- sub(strs)
复制代码 这样只需要调用dg函数,就可以完成操作。
P.S栗子很渣,完全木有意义,别介意。
当然这也只是一个方面。希望能帮到你。
我理解的就是能使用局部变量来完成一些更牛掰的操作。
|
评分
-
查看全部评分
|